Java 使用 DBCP mysql 鏈接池 作數據庫操做

須要的jar包有 commons-dbutils , commons-dbcp , commons-pool , mysql-connector-java java

本地database.propertties 配置爲mysql

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/mydatabase?useUnicode=true&characterEncoding=GBK
username=root
password=***

該文件建立在src根目錄下sql

 

首先作一個DBCP工具類apache

 1 package JDBCDemo;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.util.Properties;
 6 
 7 import javax.activation.DataSource;
 8 
 9 import org.apache.commons.dbcp.BasicDataSource;
10 
11 public class DBCPUtils {
12     private DBCPUtils() {};
13     private static BasicDataSource dbs = new BasicDataSource();
14     private static String className="";
15     private static String sqlUrl="";
16     private static String sqlUser="";
17     private static String sqlPassword="";
18     static {
19         initConfig();
20         //設置基本信息
21         dbs.setDriverClassName(className);
22         dbs.setUrl(sqlUrl);
23         dbs.setUsername(sqlUser);
24         dbs.setPassword(sqlPassword);
25         //對鏈接池控制數--可不配
26         dbs.setInitialSize(10); //鏈接池初始化鏈接數
27         dbs.setMaxActive(8); //最大連接數量
28         dbs.setMaxIdle(5); //最大空閒數
29         dbs.setMinIdle(5); //最小空閒數
30     }
31     public static BasicDataSource getDataSource() {
32         return dbs;
33     }
34     private static void initConfig() {
35         InputStream inf = JDBCUtils.class.getClassLoader().getResourceAsStream("database.propertties");
36         Properties properties = new Properties();
37         try {
38             properties.load(inf);
39             className = properties.getProperty("driverClass");
40             sqlUrl = properties.getProperty("url");
41             sqlUser = properties.getProperty("username");
42             sqlPassword = properties.getProperty("password");
43         } catch (IOException e) {
44             e.printStackTrace();
45         }
46     }
47 }

應用該工具類 結合 DBUtils 寫的demo工具

 1 package JDBCDemo;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.sql.Connection;
 6 import java.sql.SQLException;
 7 import java.util.Properties;
 8 import javax.management.RuntimeErrorException;
 9 import org.apache.commons.dbcp.BasicDataSource;
10 import org.apache.commons.dbutils.QueryRunner;
11 
12 
13 public class DBCPDemo {
14     private static QueryRunner qr = new QueryRunner(DBCPUtils.getDataSource());
15     public static void main(String[] args) {
16         try {
17             insert();
18         } catch (Exception e) {
19             e.printStackTrance();
20         }
21     }    
22     public static void insert() throws SQLException {
23         String sql = "insert into zhangwu (name,money) values (?,?)";
24         Object[] obj = {"麻將支出",100};
25         int res = qr.update(sql,obj);
26         if (res>0) {
27             System.out.println("插入數據成功");
28         }else {
29             System.out.println("插入數據失敗");
30         }
31     }
32 }
相關文章
相關標籤/搜索