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); }