MyBatis默认没有配置c3p0的连接池,需要我们自己来实现:
1.继承UnpooledDataSourceFactory这个类:
public class c3p0DataSourceFactory extends UnpooledDataSourceFactory{
public c3p0DataSourceFactory(){
this.dataSource=new ComboPooledDataSource();
}
}
2.然后将这个派生类在mybtis的配置文件中进行配置 (dataSource type)
<dataSource type="cn.myjo.queryInventory.config.c3p0DataSourceFactory">
<property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="jdbcUrl" value="jdbc:sqlserver://192.168.1.167:1433;DatabaseName=honeyBadger"/>
<property name="user" value="sa"/>
<property name="password" value="sa"/>
<property name="acquireIncrement" value="3"/>
<property name="initialPoolSize" value="10"/>
<property name="minPoolSize" value="2"/>
<property name="maxPoolSize" value="10"/>
</dataSource>
3.测试,成功
public static void main(String[] args) throws IOException {
InputStream inputStream=Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession openSession = build.openSession();
List<Object> selectList = openSession.selectList("queryHoneyBadger");
System.out.println(selectList);
}