1 DataSource(数据库连接池) (效率更高,推荐使用).
public class DBUtil {
private static final String URl = "jdbc:mysql://localhost:3306/blogdemo?characterEncoding=UTF-8";
private static final String USERNAME = "root";
private static final String PASSWORD = "12345";
创建数据库连接的方式
1.DriverManager: 每次都是创建数据库物理连接,connection.close() 关闭物理连接
2.DataSource(数据库连接池): 初始化就创建一定数量的连接, connection.close()
优点:
(1) 资源重用, 避免了频繁创建, 释放连接引起的大量性能开销.
(2) 更快的系统响应速度, 初始化往往已经创建了若干数据库连接置于池中备用.
private static volatile DataSource DATA_SOURCE;
private DBUtil() {
}
获取数据库连接池: 使用双重校验锁的的 单例模式创建数据库连接池
private static DataSource getDataSource() {
if (DATA_SOURCE == null) {
//并发执行,提高效率
synchronized (DBUtil.class) {
if (DATA_SOURCE == null) {
//保证只创建一次,满足单例同一对象的要求.
DATA_SOURCE = new MysqlDataSource();
((MysqlDataSource) DATA_SOURCE).setUrl(URl);
((MysqlDataSource) DATA_SOURCE).setUser(USERNAME);
((MysqlDataSource) DATA_SOURCE).setPassword(PA