欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jdbc结合dpcp连接池的封装实例

程序员文章站 2024-02-20 00:02:28
demo需求: 实现jdbc结合dpcp连接池的封装(以oracle数据库为例)并实现简单地查找demo主要技术: (1)properties类加载...

demo需求:

实现jdbc结合dpcp连接池的封装(以oracle数据库为例)并实现简单地查找demo主要技术:
(1)properties类加载.properties的方式

(2)dpcp连接池建立数据库连接的方式

(3)查询数据的方式

(4)静态代码块的使用,分离驱动的加载和连接信息的载入,整个服务器生命周期只执行一次

demo所用jar包:

classes12.jar
commons-dbcp-1.4.jar
commons-pool-1.5.4.jar

demo主要代码展示:

utils.java
 private static connection conn = null;
 private static basicdatasource datasource = new basicdatasource();
 private static properties prop = getproperties("src/db.properties");

 // 将连接池的创建放在静态代码块,保证整个服务器生命周期只执行一次,减少服务器负担
 static {
  try {
   datasource.setdriverclassname(prop.getproperty("driver"));
   datasource.seturl(prop.getproperty("url"));
   datasource.setusername(prop.getproperty("user"));
   datasource.setpassword(prop.getproperty("password"));
   datasource.setmaxactive(20);
   datasource.setinitialsize(10);
  } catch (exception e) {
   system.out.println("连接池创建失败");
  }
 }

 /**
  * show 方法简介 获取数据库连接池的连接,因为已经封装,以后只需要配置db.properties,无需动这边代码
  * 
  * @author 叶灬黎
  * @return
  */
 public static connection getconnection() {
  try {
   conn = datasource.getconnection();
  } catch (exception e) {
   system.out.println("数据库连接失败");
  }
  return conn;
 }

 /**
  * show 方法简介 读取.properties文件,这里主要服务于想将jdbc连接数据库的各项参数抽取出来
  * 
  * @author 叶灬黎
  * @param file
  *   要读取的.properties文件的路径
  * @return properties类对象
  */
 private static properties getproperties(string file) {
  properties properties = new properties();
  try {
   fileinputstream fis = new fileinputstream(new file(file));
   properties.load(fis);
   fis.close();
  } catch (ioexception e) {
   system.out.println("加载配置文件出错");
  }
  return properties;
 }
oneselect.java
 public static void main(string[] args) {
  list<string> names = new arraylist<>();
  
  try {
   connection conn = utils.getconnection();
   //创建执行引擎
   statement state = conn.createstatement();
   //执行sql
   string sql = "select * from emp";
   resultset rs = state.executequery(sql);
   while(rs.next()){
    names.add(rs.getstring("ename"));
   }
   rs.close();
   state.close();
   conn.close();
  } catch (sqlexception e) {
   // todo auto-generated catch block
   e.printstacktrace();
  }
  
  for(string s : names){
   system.out.println(s);
  }
 }
db.properties(src目录下)
  driver = oracle.jdbc.driver.oracledriver
  url = jdbc:oracle:thin:@127.0.0.1:1521:orcl
  user = scott
  password = 123456

demo资源位置:

svn://106.15.229.200/javaweb/tinydemo_jdbc 用户temp/密码temp)

以上这篇jdbc结合dpcp连接池的封装实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。