这两天学到Mybatis感觉就要疯了,第一次接触,我是不是应该写点笔记,下面呢,记录一下连接池的配置,防止忘了。
第一步,二话不说,先导入所需jar包(如图所示三个)
第二步,继承UnpooledDataSourceFactory的类
Mybatis没有帮你实现C3P0数据库连接池,但是提供了一个UnpooledDataSourceFactory类,只要继承该类就可以实现C3P0连接池,
import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0DataSourceFactory extends UnpooledDataSourceFactory{
public c3p0DataSourceFactory(){
this.dataSource=new ComboPooledDataSource();
}
}
第三步,写properties配置文件
一般,如果你习惯将数据库的配置放在xml文件中就不用这样写了,这样写方便后期维护,都所需内容放在properties配置文件中,然后只需在Mybatis文件中读取即可。
#jdbc
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mengkong
jdbc.username=root
jdbc.password=root
第四步,手写mybatis的xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--读取外部文件-->
<properties resource="classpath:jdbc.properties"/>
<!--配置运行环境-->
<environments default="mysql">
<environment id="mysql">
<!--配置事务-->
<transactionManager type="JDBC"/>
<!--配置C3P0连接池-->
<dataSource type="cc.buyfree.util.C3P0DataSourceFactory">
<property name="driver" value="#{jdbc.driver}"></property>
<property name="url" value="#{jdbc.url}"></property>
<property name="username" value="#{jdbc.username}"></property>
<property name="password" value="#{jdbc.password}"></property>
</dataSource>
</environment>
</environments>
<!--配置映射文件-->
</configuration>
附录,直接xml配置
如果直接使用xml配置,不引用外部文件,可以忽略第三和第四步,如下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--配置运行环境-->
<environments default="mysql">
<environment id="mysql">
<!--配置事务-->
<transactionManager type="JDBC"/>
<!--配置C3P0连接池-->
<dataSource type="cc.buyfree.util.C3P0DataSourceFactory">
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mengkong"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</dataSource>
</environment>
</environments>
<!--配置映射文件-->
</configuration>