简单的JDBC数据库连接池、读取资源配置文件!

简单的JDBC数据库连接池、读取资源配置文件!

  JDBC数据库连接池的简单实现、读取资源配置文件、不是太完善、请多提建议。。。

  资源文件conn.properties

conn.driver=com.mysql.jdbc.Driverconn.url=jdbc:mysql://localhost:3306/testconn.user=rootconn.password=xxmconn.minCon=30conn.maxCon=100

连接数据库的工具类DbCon.java

package com.xxm.utils;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.List;import java.util.ResourceBundle;import java.util.Vector;/** * 池化连接 * @author D-xxm DbCon {private static String className = null;private static String url = null;private static String user = null;private static String password = null;minCon = 3; List<Connection> listCon = * 初始化连接池*/static {loadProperties();try {for (int i = 0; i < minCon; i++) {listCon.add(getCon());}} catch (SQLException e) {System.out.println(“—————初始化资源连接失败!—————“);e.printStackTrace();}System.out.println(“—————初始化”+listCon.size()+”个资源连接!—————“);}/*** 读取资源文件配置、加载驱动* @throws IOException* @throws ClassNotFoundException loadProperties() {ResourceBundle rb;try {rb = ResourceBundle.getBundle(“conn”);className = rb.getString(“conn.driver”);url = rb.getString(“conn.url”);user = rb.getString(“conn.user”);password = rb.getString(“conn.password”);String smin = rb.getString(“conn.minCon”);if ((smin != null) && (!(“”.equals(smin.trim()))))minCon = Integer.valueOf(smin).intValue();Class.forName(className);} catch (Exception e) {System.out.println(“—————读取资源文件异常!————–“);className = “com.mysql.jdbc.Driver”;url = “jdbc:mysql://localhost:3306/demo”;user = “root”;password = “xxm”;try {Class.forName(className);} catch (Exception e2) {System.out.println(“—————加载驱动异常!————–“);e2.printStackTrace();}}}/*** 获取数据库连接。。。* @return* @throws SQLExceptionConnection getCon() throws SQLException {System.out.println(“—————新建连接资源!—————“);if ((className == null) || (url == null) || (password==null))loadProperties();return DriverManager.getConnection(url, user, password);}/*** 在连接池里拿取连接、如果没有了、调用方法新建连接* @return* Connection getConnection() throws SQLException {if ((listCon != null) && (listCon.size() > 0))return listCon.remove(listCon.size() – 1);return getCon();}/*** 当连接小于最大连接数时、将连接放入连接池、否则关闭数据库连接* @param con* @throws SQLExceptioncloseConnection(Connection conn) throws Exception {if ((conn != null) && (!(conn.isClosed())))if ((listCon != null) && (listCon.size() < minCon))listCon.add(conn);elseconn.close();}/*** 测试方法* @param args* @throws Exceptionmain(String[] args) throws Exception {for (int i = 0; i < 40; ++i) {Connection conn = getConnection();System.out.println(conn);}System.out.println(listCon.size());}}

posted on

,香港虚拟主机,香港服务器租用,网站空间在时间里面我们什么也不能留下,包括痛苦,快乐和生命。

简单的JDBC数据库连接池、读取资源配置文件!

相关文章:

你感兴趣的文章:

标签云: