JDBC基于c3p0的配置
导jar包, 除了mysql的包与dbutils之外,另外俩个包是必要的,一定要有的,还有一个东西就是配置文件,,名字必须是这样的,不能改必须是c3p0-config.xml
<c3p0-config>
<!-- 使用默认的配置读取连接池对象 -->
<default-config>
<!-- 连接参数 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/数据库名</property>
<property name="user">root</property> // 数据库账号
<property name="password">root</property> //数据库密码
<!-- 连接池参数 -->
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">10</property>
<property name="checkoutTimeout">3000</property>
</default-config>
</c3p0-config>
接下来,配置文件做完之后,就是做具体的java代码,这里与dbutils一起说,jar包在上面有
代码如下
public class DaoUtils {
static DataSource ds = null; // 定义连接池
static {
ds = new ComboPooledDataSource(); //填充连接池
}
public static QueryRunner getQR() {
return new QueryRunner(ds); //QueryRunner 是dbutils提供的方法,这里直接加载了驱动并且拿到了数据库连接时候的Connection对象
}
}
到这里,这个类就已经构建完了,接下来就是具体的业务操作,以及数据库的增、删、改、查
dbutils 还提供的一些方法,
- QueryRunner(DataSource ds) ;传入参数为连接池
- update(String sql, Object… params) ,执行insert update delete操作
- 这里的Object...params是可变参,底层其实也是一个数组
- query(String sql, ResultSetHandler rsh, Object… params) ,执行 select操作
- 在ResultSetHandler 中 还有几个常用的方法
- BeanHandler 返回一个对象结果
- BeanListHandler 返回一个集合
- ScalarHandler 返回一个单体数据 比如 select count(1) from student;
- 在ResultSetHandler 中 还有几个常用的方法
完!