Haisen大王 2015-08-02 07:41 采纳率: 50%
浏览 4306
已采纳

连接池。 DriverManager.getConnection()返回对象不变。。

public static void main(String[] args) throws Throwable {
        JDBCUtil jdbc=new JDBCUtil();
        jdbc.getConnection();
        jdbc.getConnection();       
    }
public  void getConnection()  {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
            System.out.println(conn);
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        }finally{
            try {
                if(conn!=null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                System.out.println(conn);
            }
        }
    }

如果只建立一个链接每次打开的都是同一个。。暂时还没试试重启电脑会不会就改变了 = =。
conn.close();什么效果也没有啊。

com.mysql.jdbc.JDBC4Connection@446cdf90
com.mysql.jdbc.JDBC4Connection@446cdf90
com.mysql.jdbc.JDBC4Connection@1de0aca6
com.mysql.jdbc.JDBC4Connection@1de0aca6

刚开始不理解每次运行返回的conn怎么都是同一个,百度了半天,明白了点 连接池。。看运行结果,发现close后,第一个conn链接 并没有关闭返回 空闲池。多次调用 DriverManager.getConnection 得到不同的conn 进行总删改查 会不会产生一些 不同步的问题? 不知道自己想问什么,看了半天 也是似是而非的。。。还是模模糊糊 不是很透彻。。

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-08-02 22:26
    关注

    本来就是这样的,要不要连接池干嘛。连接池就是维护一个预先打开好的连接的池子。所以你的程序的性能很高,就算你不断的打开关闭。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大