外观
MVC开发结构及C3P0数据连接池的使用
1.Web应用控制器(Controller)
实现功能
1.请求路由(分清当前的业务请求)
2.接收参数
3.转换参数数据类型
4.填充数据对象
5.数据的传递
6.调用Dao类进行数据操作
7.存放结果到数据域
8.跳转页面
C3P0数据连接池的使用
1.引入包
配置pom.xml文件
引入c3p0的包
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
引入MySQL的包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
2.配置
创建c3p0.properties配置文件
#驱动,MySQL数据库的驱动
c3p0.driverClass=com.mysql.cj.jdbc.Driver
#地址
c3p0.jdbcUrl=jdbc:mysql://localhost:3306/DB_BOOK?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=CTT
#用户名
c3p0.user=bookuser
#密码
c3p0.password=123456
#-------------------------------
#连接池初始化时创建的连接数
c3p0.initialPoolSize=3
#连接池保持的最小连接数
c3p0.minPoolSize=3
#连接池在无空闲连接可用时一次性创建的新数据库连接数,default:3
c3p0.acquireIncrement=3
#连接池中拥有的最大连接数,如果获得新连接时会使连接总数超过这个值则不会再获取新连接,而是等待其他连接释放,所以这个值有可能会设计地很大,default : 15
c3p0.maxPoolSize=15
#连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接,单位秒
c3p0.maxIdleTime=100
#连接池在获得新连接失败时重试的次数,如果小于等于0则无限重试直至连接获得成功
c3p0.acquireRetryAttempts=30
#连接池在获得新连接时的间隔时间
c3p0.acquireRetryDelay=1000
3.创建数据源对象
private static ComboPooledDataSource ds;
try {
ds=new ComboPooledDataSource();
} catch (Exception e) {
e.printStackTrace();
}
protected QueryRunner queryRunner=new QueryRunner(ds);
检查配置文件,与resource目录是否在idea中有标记