花费了大量的时间在结构目录上。
记下来免得下次忘记了步骤
创建一个web项目
- 新建一个项目
- 创建好后目录中有图中方框内的内容
- 添加WEB-INF文件夹下的classes文件夹(要先建立好)
- 添加WEB-INF文件夹下lib文件夹
- 再添加tomcat安装目录中lib文件夹下的jsp-api.jar 和 servlet-api.jar
(选择Library中的Java)
- v将需要用到的jar包放入WEB-INF文件夹下的lib文件夹
创建c3p0的xml文件
(一定要在src文件夹下,而且文件名为c3p0-config.xml
)
右击src
- c3p0-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- named-config的name属性值就是当前配置的一套配置名
在创建连接池时可以根据配置名加载此套配置信息
需要手动的输入连接名,使用default则不用手动输入连接名
-->
<named-config name="webDataSource">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/school?useUnicode=TRUE & characterEncoding=utf8 & useSSL=FALSE & serverTimezone=Asia/Shanghai & allowPublicKeyRetrieval=TRUE
</property>
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">password</property>
<!-- 最小连接数 -->
<property name="minPoolSize">5</property>
<!-- 最大连接数 -->
<property name="maxPoolSize">30</property>
<!-- 初始化的连接数 -->
<property name="initialPoolSize">10</property>
<!-- 需要时一次性创建的连接数 -->
<property name="acquireIncrement">5</property>
<!-- 缓存多少个Statement对象 -->
<property name="maxStatements">15</property>
</named-config>
</c3p0-config>
使用细节
-
c3p0中的Beanhandler 和 Beanlisthandler 如果返回null,首先要看自己的Bean类中属性名和数据库中的是否一致,实体类的属性名称必须要同数据库中的字段一模一样(区分大小写);然后再看有没有添加实体类的无参构造方法
-
mchange-commons-java-0.2.7.jar包辅助c3p0的jar包使用(c3p0-0.9.2版本后分离出来的),如果没有这个包系统启动时会报classnotfoundexception