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

目录

306701f91dba

目录

准备

C3P0:

C3P0简介:C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

导入项目:

将下载完的压缩文件解压找到lib目录

306701f91dba

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

306701f91dba

306701f91dba

将jar包Add to Build Path

306701f91dba

配置C3P0配置文件

新建xml文件c3p0-config.xml将下面的基础配置拷贝进去,其中jdbcUrl请用自己的数据库,user和password也同样使用自己配置的(要与数据库用户名密码对应)。

10

30

100

10

200

com.mysql.cj.jdbc.Driver

jdbc:mysql://localhost:3306/jdbctest?useSSL=false

root

123

10

30

100

10

200

DBUtils:

DBUtils简介:Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。

导入项目:将文件解压并倒入名字最短的jar包,然后也要Add to Buid Path

306701f91dba

编写工具类

这里简单的写一个工具类

public class JDBCUtil {

private static ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("mysql");//这里的mysql是与c3p0配置文件里相对应的

public static DataSource getDataSource(){

return comboPooledDataSource;

}

}

306701f91dba

获取数据库数据

新建一个Bean类People(后面利用DBUtils可以将结果转为Bean类)

这里需要与数据库的字段对应。

306701f91dba

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;

}

}

利用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 query = queryRunner.query(sql, new BeanListHandler<>(People.class), "男",16);//这里的查询参数可以有多个,但顺序要对应

for(People p:query){

System.out.println(p.getName()+"==");

}

}

}

结果展示

306701f91dba

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值