ORM框架分析之DB到Entity的映射(二)

//管理配置信息(便于项目和配置文件的解耦)

public class Configuration{

       //驱动类

      private String driver;

      //数据库的连接url

      private String url;

      //数据库的用户名

     private String user;

     //数据库的密码

     private String pwd;

     //正在使用哪个数据库

     private String userDB;

     //项目的源码路径

     private String srcPath;

      //扫描生成Java类的包

      private String poPackage;

      //项目使用的查询类是哪一个类

      private String queryClass;

      //连接池中最小的连接数

      private int poolMinSize;

      //连接池中最大的连接数

      private int poolMaxSize;

      .......get、set方法

      .......带参、不带参的构造函数

}


//连接池的类

public class DBConnPool{

       //连接池对象

       private List<Connection> pool;

       //最大连接数

       private static final int POOL_MAX_SIZE = DBManager.getConf().getPoolMaxSize();

       //最小连接数

       private static final int POOL_MIN_SIZE = DBManager.getConf().getPoolMinSize();

       public DBConnPool(){
            initPool();
       }

       //初始化连接池,使池中的连接数达到最小值

      public void InitPool(){

           if(pool == null){

                pool = new ArrayList<Connection>();

           }

           while(pool.size()<DBConnPool.POOL_MAX_SIZE){

                 pool.add(DBManager.createConn());

           }

      }

      //从连接池中取出一个连接

     public synchronized Connection getConnection(){

         int last_index = pool.size()-1;

         Connection conn = pool.get(last_index);

         pool.remove(last_index);

         return conn;

     }

     //将连接放回池中

     public synchronized void close(Connection conn){

          if(pool.size()>=DBConnPool.POOL_MAX_SIZE){

               if(conn!=null){

                  conn.close();

               }

          }else{

                pool.add(conn);

          }

     }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值