美文网首页
一步一步学后台(三):C3P0+DBUtils简化代码

一步一步学后台(三):C3P0+DBUtils简化代码

作者: itfitness | 来源:发表于2019-03-18 16:08 被阅读0次

目录

目录

准备

C3P0:

  • C3P0简介:C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
  • C3P0下载: https://sourceforge.net/projects/c3p0/files/latest/download?source=files
  • 导入项目:
    将下载完的压缩文件解压找到lib目录



    将除了带oracle字样的另外两个jar包导入项目中




    将jar包Add to Build Path
  • 配置C3P0配置文件
    新建xml文件c3p0-config.xml将下面的基础配置拷贝进去,其中jdbcUrl请用自己的数据库,user和password也同样使用自己配置的(要与数据库用户名密码对应)。
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
   <!--默认配置-->
    <default-config>  
        <property name="initialPoolSize">10</property>  
        <property name="maxIdleTime">30</property>  
        <property name="maxPoolSize">100</property>  
        <property name="minPoolSize">10</property>  
        <property name="maxStatements">200</property>  
    </default-config>  
  
   <!--配置连接池mysql-->
    <named-config name="mysql">  
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>  
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbctest?useSSL=false</property>  
        <property name="user">root</property>  
        <property name="password">123</property>  
        <property name="initialPoolSize">10</property>  
        <property name="maxIdleTime">30</property>  
        <property name="maxPoolSize">100</property>  
        <property name="minPoolSize">10</property>  
        <property name="maxStatements">200</property>  
    </named-config>  
</c3p0-config>

DBUtils:

  • DBUtils简介:Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。
  • DBUtils下载:http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi
  • 导入项目:将文件解压并倒入名字最短的jar包,然后也要Add to Buid Path


编写工具类

这里简单的写一个工具类

public class JDBCUtil {
    private static ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("mysql");//这里的mysql是与c3p0配置文件里相对应的
    public static DataSource getDataSource(){
        return comboPooledDataSource;
    }
}

获取数据库数据

  1. 新建一个Bean类People(后面利用DBUtils可以将结果转为Bean类)
    这里需要与数据库的字段对应。


public class People {
    private int id;
    private String name;
    private String sex;
    private int age;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
}
  1. 利用DBUtils的QueryRunner查询数据
public class JDBCTest {
    @Test
    public void Test() throws SQLException{
        QueryRunner queryRunner = new QueryRunner(JDBCUtil.getDataSource());
        String sql = "select * from people where sex=? and age>?";//这里使用占位符
        List<People> query = queryRunner.query(sql, new BeanListHandler<>(People.class), "男",16);//这里的查询参数可以有多个,但顺序要对应
        for(People p:query){
            System.out.println(p.getName()+"==");
        }
    }
}
  1. 结果展示


相关文章

网友评论

      本文标题:一步一步学后台(三):C3P0+DBUtils简化代码

      本文链接:https://www.haomeiwen.com/subject/enqbmqtx.html