java jdbc使用配置文件连接数据库:

创建后缀名为:.properties的文件,文件内容包括,数据库驱动、连接的数据库地址、用户名、密码……

以Mysql为例创建config.properties配置文件其内容如下:

DRIVER_CLASS=com.mysql.jdbc.Driver

CONNECTION_URL=jdbc:mysql://localhost:3306/test

CONNECTION_USERNAME=root

CONNECTION_PASSWORD=root

创建连接数据库类:

例如:

public class ConnectionFactory {

private static Properties prop;

private static final String CONFIGNAME = "config.properties";

private static List<Connection> conns;

private Connection conn;

public JDBCFactory() throws Exception{

conns = new ArrayList<Connection>();

prop = new Properties();

//加载配置文件

prop.load(this.getClass().getResourceAsStream(CONFIGNAME));

//获取数据库驱动

Class.forName(prop.getProperty("DRIVER_CLASS"));

//创建十个数据库连接并放入List集合(conns),

//list集合(conns)相当于一个有十个数据库连接的数据库连接池

for (int i = 0; i < 10; i++) {

conn = DriverManager.getConnection(

prop.getProperty("CONNECTION_URL"),

prop.getProperty("CONNECTION_USERNAME"),

prop.getProperty("CONNECTION_PASSWORD"));

conns.add(conn);

}

}

//从List集合(conns)中获取数据库连接

public Connection getConnection(){

return conns.remove(0);

}

//已用完的数据库连接从新添加到List集合(conns)中

public void close(Connection conn){

if(conn!=null){

conns.add(conn);

}

}

}

定义测试类:

public class JDBCTest {

public static void main(String[] args) throws Exception {

//创建ConnectionFactory对象,同时创建数据库连接池

ConnectionFactory cf = new ConnectionFactory();

//获取数据库连接

Connection conn = cf.getConnection();

//select sql语句

PreparedStatement ps = conn.prepareStatement("select * from user");

//执行sql语句

ResultSet rs = ps.executeQuery();

//循环输入查询到的内容

while(rs.next()){

//id username password 为查询数据库的字段

System.out.println("id:"+rs.getInt("id")+

"Username:"+rs.getString("username")+

"Password:"+rs.getString("password"));

}

}

}

java jdbc使用配置文件连接数据库:的更多相关文章

  1. JAVA JDBC 读取配置文件链接数据库(oracle)

    ----db.properties-------- dbDriver = oracle.jdbc.driver.OracleDriverurl = jdbc:oracle:thin:@192.168. ...

  2. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

  3. 纯Java JDBC连接数据库,且用JDBC实现增删改查的功能

    Java JDBC连接数据库 package cn.cqvie.yjq; import java.sql.*; /** * 注册数据库的驱动程序,并得到数据库的连接对象 * @author yu * ...

  4. 【转】Java JDBC对应C# ADO连接数据库之区别

    JDBC对应C#连接数据库之区别 之前一直在用java,最近因为找了.NET的工作,开始学习.NET. 今天也是查了好多资料,但是一直没有看到和JDBC之间的对比博文,开始也是一头雾水! 但是功夫不负 ...

  5. Java JDBC高级特性

    1.JDBC批处理 实际开发中需要向数据库发送多条SQL语句,这时,如果逐条执行SQL语句,效率会很低,因此可以使用JDBC提供的批处理机制.Statement和PreparedStatemen都实现 ...

  6. Java JDBC下执行SQL的不同方式、参数化预编译防御

    相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...

  7. java JDBC链接sqlserver/mysql/oracle

    今天初学数据库的一些简单创建数据库和表,并进行简单的查询,插入. 接下学习的就是java工程中怎么链接数据库呢.主要的方法和用到的类如下. 切记,mysql需要的jar包 mysql-connecto ...

  8. Java - 使用hibernate配置文件 + JPA annotation注解操作数据库

    本程序运行环境:IDEA. 实际上我对hiberbate与注解的关系还不是太清晰.据我所知注解都是Java JPA的,那么我的理解是:hibernate就应该只是通过这些JPA标识及hibernate ...

  9. java读取properties配置文件总结

    java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...

随机推荐

  1. servlet HttpSession 监听器

    一.Servlet中对象作用域 1. ServletContext 上下文 应用服务器一启动就产生该对象,服务器关闭即销毁 作用于全局,所有Servlet ,相当于静态变量 2. HttpSessio ...

  2. C# 跨线程调用问题

    纠结了好久,终于知道了winform和WPF的UI的跨线程调用的解决方法: winform下如果为了省事,可以直接禁用跨线程检查: Control.CheckForIllegalCrossThread ...

  3. 一个简单的web服务器例子

    一个简单的web容器小例子,功能十分简单,只能访问静态资源,对于新手来说还是有一定的意义.主要分三个类 1.server类:主要功能开启socketServer,阻塞server,接收socket访问 ...

  4. Unix时间戳 和 NSDate 的转换

    一个时间戳字符串:NSString *timeStampStr =  @"1441602721"; 转换成时间     double unixTimeStamp          ...

  5. 网页icon和文本对齐神技 2016.03.23

    一直以来icon和文本需要对齐都使用vertical-align: middle;的方法,但兼容性不理想.参考了鑫旭大大的博客,终于收获不用vertical-align可以对齐的神技,原博点这里. 代 ...

  6. Constructor and destructor -- Initialization & Cleanup in C++

    Why need initialization and cleanup? A large segment of C bugs occur when the programmer forgets to ...

  7. 授权(Authorization)

    介绍 除了认证服务,laravel还提供了授权服务,laravel同样提供了一个简单的方式去组织授权的逻辑来控制资源的访问.我们提供了各种各样的方法协助你们组织授权的逻辑,这些都在下面的文档之中. 定 ...

  8. Apache 支持.htaccess

    ******************************************************************************* Apache 服务器 ********* ...

  9. Attributes(1):反射Attribute并输出

    using System; using System.Reflection; using System.Text;   namespace Attribute01 { class Program { ...

  10. 【python】由一个小例子看出python的灵活性,IF ELSE一例

    temp = input("请输入1到100之间的数字:") num = int(temp) if 1 <= num <= 100:                   ...