j2se数据库连接池,dbcp使用模板
2010-07-22 11:29
399 查看
import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.apache.commons.dbcp.ConnectionFactory; import org.apache.commons.dbcp.DriverManagerConnectionFactory; import org.apache.commons.dbcp.PoolableConnectionFactory; import org.apache.commons.dbcp.PoolingDriver; import org.apache.commons.pool.ObjectPool; import org.apache.commons.pool.impl.GenericObjectPool; public class PoolManager { private static String driver="com.mysql.jdbc.Driver",//驱动 url = "jdbc:mysql://localhost:3306/test",//URL Name="root",//用户名 Password="ssg";//密码 private static Class driverClass = null; private static ObjectPool connectionPool = null; public PoolManager(){ } /** * 装配配置文件 * initProperties */ private static void loadProperties(){ try { java.io.InputStream stream = new java.io.FileInputStream("config(DBCP).properties"); java.util.Properties props = new java.util.Properties(); props.load(stream); driver = props.getProperty("driverClassName"); url = props.getProperty("url"); Name = props.getProperty("username"); Password = props.getProperty("password"); } catch (FileNotFoundException e) { System.out.println("读取配置文件异常"); } catch(IOException ie){ System.out.println("读取配置文件时IO异常"); } } /** * 初始化数据源 */ private static synchronized void initDataSource() { if (driverClass == null) { try { driverClass = Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } /** * 连接池启动 * @throws Exception */ public static void StartPool() { loadProperties(); initDataSource(); if (connectionPool != null) { ShutdownPool(); } try { connectionPool = new GenericObjectPool(null); ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(url, Name, Password); PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); Class.forName("org.apache.commons.dbcp.PoolingDriver"); PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:"); driver.registerPool("dbpool", connectionPool); System.out.println("装配连接池OK"); } catch (Exception e) { e.printStackTrace(); } } /** * 释放连接池 */ public static void ShutdownPool() { try { PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:"); driver.closePool("dbpool"); } catch (SQLException e) { e.printStackTrace(); } } /** * 取得连接池中的连接 * @return */ public static Connection getConnection() { Connection conn = null; if(connectionPool == null) StartPool(); try { conn = DriverManager.getConnection("jdbc:apache:commons:dbcp:dbpool"); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 获取连接 * getConnection * @param name * @return */ public static Connection getConnection(String name){ return getConnection(); } /** * 释放连接 * freeConnection * @param conn */ public static void freeConnection(Connection conn){ if(conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 释放连接 * freeConnection * @param name * @param con */ public static void freeConnection (String name,Connection con){ freeConnection(con); } /** * 例子 * main * @param args */ public static void main(String[] args) { try { Connection conn = PoolManager.getConnection(); if(conn != null){ Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery("select * from myuser"); int c = rs.getMetaData().getColumnCount(); while(rs.next()){ System.out.println(); for(int i=1;i<=c;i++){ System.out.print(rs.getObject(i)); } } rs.close(); statement.close(); } PoolManager.freeConnection(conn); } catch (SQLException e) { e.printStackTrace(); } } }
相关文章推荐
- JAVA中使用DBCP做数据库连接池
- DBCP数据库连接池的简单使用
- 11、数据库连接池DBCP的使用
- DBCP数据库连接池的简单使用
- Java使用独立数据库连接池(DBCP为例)
- 开源框架数据库连接池dbcp的使用方法
- DBCP数据库连接池的使用
- 数据库连接池 dbcp与c3p0的使用
- 使用dbcp做为数据库连接池
- Apache DBCP数据库连接池使用Demo
- DBCP数据库连接池的使用
- 使用dbcp数据库连接池连接数据库aaa的代码
- DBCP数据库连接池的简单使用
- tomcat-dbcp数据库连接池配置以及使用时候的一些坑
- 使用dbcp构建数据库连接池
- DBCP数据库连接池笔记-基本使用
- 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池
- ibatis中使用dbcp做为数据库连接池
- Tomcat dbcp 数据库连接池 的配置及使用