JDBCUtils进行MySQL数据库的连接
在用工厂模式创建连接池时候, 把数据需要的jar包,放在WEB-INF的lib目录中,(需要导入两个jar包,druid,commons-collections,spring相关的jar包)并且添加至工程,最后配置一个druid.properties文件。
- 需要注意的是:在进行工厂模式创建连接池的时候导入:import com.alibaba.druid.support.ibatis.DruidDataSourceFactory;就会报错没有createDataSource()方法。
- 需要换成import com.alibaba.druid.pool.DruidDataSourceFactory;这样就不会报错了。
- 因为DruidDataSourceFactory这个类在ibatis和pool两个包下都有。但是createDataSource这个方法只在pool包下的方法里有。
package cn.QYH.util;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCUtils {
// 把数据需要的jar包,放在WEB-INF的lib目录中,并且添加至工程,最后配置一个druid.properties文件
// 采用druid连接,和spring
private static DataSource ds;
static{
try {
//获取配置文件
Properties pro = new Properties();
//使用ClassLoader加载配置文件,获取字节输入流
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//初始化连接池
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* 获取连接池对象
* */
public static DataSource getDataSource() {
return ds;
}
/*
* 获取连接Connection对象
* */
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
配置一个druid.properties文件的相关代码
//(2)配置druid.properties文件
/*driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/student?characterEncoding=utf-8&serverTimezone=GMT
username=root
password=188207236
#初始化连接数量
initialSize=5
#最大连接数量
maxActive=10
#超时等待
maxWait=3000*/