准备工作:
- MySQL建库 建表(建表之前请把MySQL编码设置成UTF-8格式,在创建库和表的时候跟上charset=UTF-8)
- 使用c3p0 数据库连接池: 导入jar包 修改xml 配置文件(可以从帮助文档中copy example 书写驱动,用户名,密码,库名) 只需要
ComboPooledDataSource datasource = new ComboPooledDataSource()
就创建好了连接池.
我们应该自己书写JDBCUtil工具类,在工具类中创建好连接池,给出datasource对象获取方法(方便DBUtil调用)
public class JDBCUtil {
private static ComboPooledDataSource dataSource = null;
static {
dataSource = new ComboPooledDataSource();
}
public static DataSource getDataSource() {
return dataSource ;
}
}
- 使用DBUtils简化我们对数据库的操作:导入jar包,书写dao包StuDao接口,并将其用SyuDaoImpl类实现,获得连接直接从连接池中拿就可以了
QueryRunner runner = new QueryRunner(JDBCUtil.getDataSource());
对于dao里面每一个方法都用QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
会让每一个方法被调用一次就创建一个连接池,导致MySQL too much connection 报错