首页 > 代码库 > 【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文件不可以随便更改,因为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中包装好了加载驱动,获得连接,释放资源。
下面是一个测试类:
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); }}
【JDBC】使用连接池技术访问oracle
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。