美文网首页
一步一步学后台(三):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