DataSource source = null;不管是C3P0还是DBCP或者其他数据库连接池第一步都是DataSource source = null,Ctrl+T 获取DataSource实现的类,找到BasciDataSource的构造方法,
BasicDataSource source = new BasicDataSource();//创建DBCP的数据库连接池
具体有什么方法可以查看API文档 查看文档的方法:在commons-pool-1.5.5\apidocs\index.html里查看
查看API文档 source调用相应额set方法
source.setDriverClassName("com.mysql.jdbc.Driver");
source.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
source.setUsername("root");
source.setPassword("123");
BasicDataSourceFactory.createDataSource(Properties properties)需要注意的是如果直接这么写的话参数不是Properties而是args,此时需要导入源码commons-dbcp-1.4-src.zip
BasicDataSourceFactory.createDataSource(properties);到这里就需要创建一个Properties的对象即配置文件,创建文件写好配置信息,
username=root password=123 url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC driverClassName=com.mysql.jdbc.Driver
用properties.load方法加载配置文件,
FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));//和下边的方法的区别就是这个方法的目录需要加上src/ 因为这个方法创建字符流对象默认是在当前项目下
properties.load(is);
或者InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");用类的加载器获取字符流对象然后加载
Properties properties = new Properties(); //InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties"); FileInputStream is = new FileInputStream(new File("src/dbcp.properties")); properties.load(is); DataSource dataSource = BasicDataSourceFactory.createDataSource(properties); Connection con = dataSource.getConnection(); System.out.println(con);
原文:https://www.cnblogs.com/kys-mxm/p/12699317.html