C3P0xml文件设置
rewriteBatchedStatements=true 开启批处理:批量处理 不开启时 批处理动作默认将数据一条一条执行
& &符 在xml中需要转义
characterEncoding=utf8
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!--
rewriteBatchedStatements=true 开启批处理:批量处理 不开启时 批处理动作默认将数据一条一条执行
& &符 在xml中需要转义
characterEncoding=utf8
-->
<property name="jdbcUrl">jdbc:mysql:///user?rewriteBatchedStatements=true & characterEncoding=utf8</property>
<property name="user">root</property>
<property name="password">123123</property>
<!-- 初始连接数 -->
<property name="initialPoolSize">5</property>
<!-- 最小连接数 -->
<property name="minPoolSize">5</property>
<!-- 最大连接数 -->
<property name="maxPoolSize">20</property>
</default-config>
</c3p0-config>
JDBCUtils类 代码
public class JDBCUtils {
// 创建一个连接池:但是这个连接池只需要创建一次即可。
private static final ComboPooledDataSource dataSource = new ComboPooledDataSource();
/**
* 获得连接的方法
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
}
/**
* 获得数据源:
*/
public static DataSource getDataSource(){
return dataSource;
}
}
DAO层使用实例
public class CategoryDaoImpl implements CategoryDao {
@Override
public Integer addCategory(Category category) {
//引用连接池获取数据源(说白了就是拿个开门的钥匙)
QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
try {
queryRunner.update("insert into category values(null,?,?)",category.getCname(),category.getDescription());
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
return 1;
}
}
C3P0更多
https://blog.csdn.net/lance521/article/details/77717389
https://blog.csdn.net/chenpuzhen/article/details/80610044
这两篇文章内容相辅,够用了
Apache的Dbutils 封装了JDBC的一部分功能,使用起来更加简明:第一个实例,第二个介绍
https://blog.csdn.net/qq_27869123/article/details/81138638
https://blog.csdn.net/xiangjai/article/details/7523100
下面是几种快速获取类属型并添加至类中的工具对比: