zoukankan      html  css  js  c++  java
  • day07 c3p0连接池

    使用junit单元测试
    要求:
    1.方法是public void xxx(){}
    2.在方法上添加 @Test
    3.在@Test 按下 ctrl+1(快速锁定错误)
    4.在方法上右键 run as -->junit 就可以执行方法了.


    案例2-自定义一个连接池(理解思想)

    装饰者模式:★★★
    使用步骤:
    1.装饰者和被装饰者实现同一个接口或者继承同一个类
    2.装饰者中要有被装饰者的引用
    3.对需要增强的方法进行加强
    4.对不需要加强的方法调用原来方法

    package wrap;
    
    public interface Car {
    
        public  abstract void start();
        public abstract void stop();
    }
    
    
    //============另一文件====================
    package wrap;
    
    public class CarWrap implements Car{
    
        private Car car;
    
        public CarWrap(Car car) {
            this.car = car;
        }
        @Override
        public void start() {
            System.out.println("accelerate....");
            car.start();
        }
    
        @Override
        public void stop() {
             car.stop();
        }
    
    }
    
    
    //============另一文件====================
    package wrap;
    
    public class QQ implements Car{
    
        @Override
        public void start() {
            System.out.println("QQ run");
        }
    
        @Override
        public void stop() {
            System.out.println("QQ stop");        
        }
        
    }
    
    
    
    //============另一文件====================
    
    package wrap;
    
    public class Tesla implements Car{
    
        
        public static void main(String[] args) {
            
            QQ q = new QQ();
            q.start();
            q.stop();
            
            System.out.println("=============================");
            CarWrap carWrap = new CarWrap(new Tesla());
            carWrap.start();
            carWrap.stop();
            
            System.out.println("++++++++++++++++++++++++");
            CarWrap c = new CarWrap(q);
            c.start();
            c.stop();
        }
        
        @Override
        public void start() {
            System.out.println("Tesla start");
        }
    
        @Override
        public void stop() {
            System.out.println("Tesla stop");
        }
    
    }
    View Code

    C3P0:(★)
    使用步骤:
      1.导入jar包(c3p0-0.9.1.2.jar)
      2.使用api
        a.硬编码(不推荐)
          new ComboPooledDataSource()
        b.配置文件
          配置文件的名称:c3p0.properties 或者 c3p0-config.xml
          配置文件的路径:src下

        编码只需要一句话,其余同dbcp
        ComboPooledDataSource ds = new ComboPooledDataSource();
        new ComboPooledDataSource(String configName)//使用命名的配置 若配置的名字找不到,使用默认的配置

    package c3p0;
    
    import java.sql.SQLException;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.ArrayHandler;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    public class C3p0Demo {
    
        public static void main(String[] args) {
            ComboPooledDataSource ds = new ComboPooledDataSource();
            
            QueryRunner qr = new QueryRunner(ds);
            
            String sql = "SELECT * FROM sort";
            try {
                Object[] res = qr.query(sql, new ArrayHandler());
                
                for (Object obj : res) {
                    System.out.print(obj + "  ");
                }
                
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
        }
        
    }
    View Code
  • 相关阅读:
    openstack配置增加节点
    OpenStack基本应用
    OpenStack
    zabbix(客户端自动发现,自动添加)
    zabbix 邮件报警(以网易邮箱为例)
    数据库原理
    网页设计与制作
    质量管理与质量保证
    比较行政学【0717】
    企业管理学[9053]
  • 原文地址:https://www.cnblogs.com/YKang/p/7371952.html
Copyright © 2011-2022 走看看