首页 > 代码库 > 【JDBC】使用连接池技术访问oracle

【JDBC】使用连接池技术访问oracle

使用连接池访问数据库之前需要导入相关的jar包,

首先需要导入Oracle的驱动包,一般在安装Oracle数据库的目录下就有,读者的目录下就有一个ojdbc6.jar的驱动包。

然后再需要导入和连接池相关的jar包,比如:commons-dbcp-1.4.jar,和commons-pool-1.5.6.jar包。

下面是一个使用连接池包装好的工具包:

技术分享
driverClassName=oracle.jdbc.OracleDriverurl=jdbc:oracle:thin:@localhost:1521:xepassword=517839username=system
db.properties

注意:这个db.properties文件不可以随便更改,因为driverClassName,url,password,username这几个值恰好可以和包装类里面的属性名称保持了一致,如果不一致可以使用如下的方法进行设置:

setDriverClassName()setUrl()setUsername()setPassword()
技术分享
package com.xdl.util;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;public class DBCPUtilProperties {    private  static  DataSource   datasource;    static {        InputStream  inputStream = DBCPUtilProperties.class            .getClassLoader().getResourceAsStream("db.properties");         Properties  pro  = new Properties();        try {            pro.load(inputStream);            datasource = BasicDataSourceFactory.                    createDataSource(pro);            /**             * 也可以设置驱动,用户名,账号,密码,如果db.properties里的属性名称改变了,可以通过下面的方式手动设置             * datasource.setDriverClassName(pro.getProperty("driverClassName"));             * datasource.setUrl(pro.getProperty("url"));             * datasource.setUsername(pro.getProperty("username"));             * datasource.setPassword(pro.getProperty("password"));             */        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }            }    public   static  Connection  getConnection(){        try {            return  datasource.getConnection();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return  null;    }    public  static  void  releaseResource(Connection conn,Statement st,ResultSet rs){        if(rs != null) {            try {                rs.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }finally{                rs = null;            }        }        if(st != null) {            try {                st.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }finally{                st = null;            }        }        if(conn != null) {            try {                conn.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }finally{                conn = null;            }        }    }    }
DBCPUtilProperties.java

DBCPUtilProperties.java中包装好了加载驱动,获得连接,释放资源。

下面是一个测试类:

技术分享
package com.xdl.test;import java.sql.Connection;import com.xdl.util.DBCPUtilProperties;public class DBCPUtilPropertiesTest {    public static void main(String[] args) {        // TODO Auto-generated method stub        Connection  conn = DBCPUtilProperties.getConnection();        System.out.println(conn);    }}
DBCPUtilPropertiesTest.java

 

【JDBC】使用连接池技术访问oracle