JDBC连接数据库以及Mysql时区错误

本文介绍了使用DataSource作为数据库连接池的优势,强调了PreparedStatement相对于Statement的性能、可读性和安全性提升。同时,针对Mysql时区错误问题,提供了在my.ini配置文件中修改default-time-zone的解决方案,以确保正确的时间设置。
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值