Java中使用连接池技术链接数据库
来源:互联网 发布:违规网络音乐名单李志 编辑:程序博客网 时间:2024/06/03 08:36
在内存中用来保存一个个数据库连接的对象。
访问数据库时,建立连接和拆连接需要花费较长时间,通过以连接池直连的方式获取连接,不需要注册驱动程序,可以大量的节省销毁和创建连接的资源消耗,提高访问数据库的效率。
注:通过连接池获得的Connection,当执行con.close()时,不是关闭连接,而是表示将连接释放回连接池。 连接池是一个很复杂的算法,由服务器厂商实现。
首先应该建一个 .propertisezi资源文件,用于保存连接数据库的四个参数。如下
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/carusername=rootpassword=1994220
其次,创建一个ConnectUtil类,用来加载数据库驱动,并创建连接。如下
package com.tdp.util;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties;public class ConnectionUtil { private static String driver; private static String url; private static String username; private static String password; static{ Properties prop = new Properties(); try { prop.load(ConnectionUtil.class.getResourceAsStream("db_mysql.properties")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(prop!=null){ driver = prop.getProperty("driver"); url = prop.getProperty("url"); username = prop.getProperty("username"); password = prop.getProperty("password"); } try { Class.forName(driver); //注册数据库驱动 } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }//静态代码块,类被加载时执行,将资源文件加载进来 public static Connection openConnection(){ Connection con = null; try { con = DriverManager.getConnection(url, username, password); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return con; }}
注意:.propertise文件的路径问题,如果资源文件和ConnectUtil类位于同一包下,路径为(”db_mysql.properties”)如果,资源文件在src下,路径为(”/db_mysql.properties”)
0 0
- Java中使用连接池技术链接数据库
- java中连接数据库各种技术总汇
- java使用JDBC技术连接数据库操作方法
- Java使用JNDI技术连接数据库
- JDBC入门技术:如何使用连接池技术连接数据库
- day_9使用数据库连接池技术连接数据库
- java中数据库的连接和数据库连接池的使用
- Java中使用jdbc连接数据库详解
- java中使用jdbc连接SQLite3数据库
- Java中使用JDBC连接oracle数据库
- Java中使用jdbc连接数据库
- Java使用连接池连接数据库
- 【JAVA】JDBC(Java数据库链接技术)
- 技术-Java连接mysql数据库
- 简述java jdbc技术链接数据库
- java中连接数据库
- 使用Java连接数据库
- Java中读取配置文件使用jdbc-c3p0连接池连接sqlserver数据库
- 在代码中添加倒计时程序,开个线程SetTimer
- Android异步更新UI的四种方式
- iOS-程序的启动与运转-RunLoop个人小结
- 云计算+将成为一种新潮流 未来或将超越互联网+
- cocos2dx之c++11 bind
- Java中使用连接池技术链接数据库
- LeetCode 307. Range Sum Query - Mutable
- sendmessage死锁问题
- SharedPreferences篇
- BigInteger简析
- iOS定义UIColor RGB 的宏
- Thread 总结
- 随想(二)-- 基于负载均衡和本地锁的分布式锁
- apk签名