Chinaunix首页 | 论坛 | 博客
  • 博客访问: 701438
  • 博文数量: 178
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1507
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-27 23:20
文章分类

全部博文(178)

文章存档

2015年(58)

2014年(121)

我的朋友

分类: Java

2014-11-18 13:35:01

java代码:

点击(此处)折叠或打开

  1. package com.soco.util;

  2. import java.io.FileInputStream;
  3. import java.io.InputStream;
  4. import java.sql.Connection;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.Properties;

  9. import javax.sql.DataSource;

  10. import org.apache.commons.dbcp.BasicDataSourceFactory;

  11. public class SQLConnUtil {
  12.     
  13.     private static InputStream inStream;
  14.     private static Properties pro;
  15.     private static DataSource datasource;
  16.     
  17.     public static void main(String[] args) {
  18.         Connection connection = SQLConnUtil.getConnection();
  19.         System.out.println(connection);
  20.     }
  21.     static{
  22.         String path = SQLConnUtil.class.getClassLoader().getResource("dbcp.properties").getPath();
  23. // inStream=SQLConnUtil.class.getClass().getResourceAsStream("dbcpconfig.properties");
  24.         try {
  25.             inStream = new FileInputStream(path);
  26.             pro=new Properties();
  27.             pro.load(inStream);
  28.             datasource=BasicDataSourceFactory.createDataSource(pro);
  29.         } catch (Exception e) {
  30.             e.printStackTrace();
  31.             throw new RuntimeException("初始化错误!");
  32.         }
  33.     }
  34.     
  35.     public static DataSource getDataSource(){
  36.         return datasource;
  37.     }
  38.     
  39.     public static Connection getConnection(){
  40.         try {
  41.             return datasource.getConnection();
  42.         } catch (SQLException e) {
  43.             e.printStackTrace();
  44.             throw new RuntimeException("得到数据库连接失败!");
  45.         }
  46.     }
  47.     
  48.     public static void free(ResultSet rs,Statement sta,Connection conn){
  49.         try {
  50.             if(rs!=null){
  51.                 rs.close();
  52.             }
  53.         } catch (Exception e) {
  54.             e.printStackTrace();
  55.         }finally{
  56.             try {
  57.                 if(sta!=null){
  58.                     sta.close();
  59.                 }
  60.             } catch (Exception e) {
  61.                 e.printStackTrace();
  62.             }finally{
  63.                 if(conn!=null){
  64.                     try {
  65.                         conn.close();
  66.                     } catch (SQLException e) {
  67.                         e.printStackTrace();
  68.                     }
  69.                 }
  70.             }
  71.         }
  72.     }
  73. }


配置文件properties:

点击(此处)折叠或打开

  1. #连接设置

  2. driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

  3. url=jdbc:sqlserver://localhost:1433;databaseName=mp

  4. username=sa

  5. password=mengya



  6. #<!-- 初始化连接 -->

  7. initialSize=10



  8. #最大连接数量

  9. maxActive=50



  10. #<!-- 最大空闲连接 -->

  11. maxIdle=20



  12. #<!-- 最小空闲连接 -->

  13. minIdle=5



  14. #<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 -->

  15. maxWait=60000





  16. #JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]

  17. #注意:"user""password" 两个属性会被明确地传递,因此这里不需要包含他们。

  18. connectionProperties=useUnicode=true;characterEncoding=gbk



  19. #指定由连接池所创建的连接的自动提交(auto-commit)状态。

  20. defaultAutoCommit=true



  21. #driver default 指定由连接池所创建的连接的只读(read-only)状态。

  22. #如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)

  23. defaultReadOnly=



  24. #driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。

  25. #可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE

  26. defaultTransactionIsolation=READ_UNCOMMITTED


阅读(680) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~