DBCP连接池连接数据库

来源:互联网 发布:hgkp软件 编辑:程序博客网 时间:2024/05/02 03:12

 DBCP连接池。

关键代码:

(1)

  

dbcp.properties//配置文件driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://localhost:1433username=sapassword=123456initialSize=10//初始资源maxActive=50//活动资源maxIdle=20//最大空闲资源minIdle=5//最小空闲资源maxWait=60000 //资源没有的时候会让用户等待,等待一段时间后,它会填充资源;当空闲资源小于最小空闲资源时,它会往里添加资源并判断是否小于最大空闲资源characterEncoding=UTF-8//编码字符集defaultAutoCommit=true//自动提交

(2)  DbcpJdbcUtil.java

packageex4;importjava.io.InputStream;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.Properties;importjavax.sql.DataSource;importorg.apache.commons.dbcp2.BasicDataSourceFactory;publicclass DbcpJdbcUtil {              private static DataSource ds=null;              static{try{        InputStreamin=DbcpJdbcUtil.class.getResourceAsStream("dbcp.properties");        Propertiesprop=new Properties();        prop.load(in);//以上与1同        ds=BasicDataSourceFactory.createDataSource(prop);//工厂,创建Source}catch(Exceptione){        e.printStackTrace();}}public static Connection getConnection()throwsSQLException{returnds.getConnection();}public static void release(Connection conn,Statementst,ResultSet rs){if(rs!=null){        try{               rs.close();        }catch(Exceptione){               e.printStackTrace();       }        rs=null;}if(st!=null){        try{               st.close();        }catch(Exceptione){               e.printStackTrace();        }        st=null;}if(conn!=null){       try{               conn.close();        }catch(Exceptione){              e.printStackTrace();       }       conn=null;}}}


(3)  Main.java

packageex4;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclass Main {public static void main(String[] args){       try{Connection conn=DbcpJdbcUtil.getConnection();              Statement stmt=conn.createStatement();              String sql="select sn,sex from[EDUCATION].[dbo].[Student]";              ResultSet rs=stmt.executeQuery(sql);              while(rs.next()){                     System.out.println(rs.getString("sn")+""+rs.getString("sex"));              }              DbcpJdbcUtil.release(conn,stmt, rs);       }catch(SQLExceptione){              e.printStackTrace();       }}}


0 0
原创粉丝点击