Mybatis整合c3p0连接池
如果觉得写的还可以,点个赞支持一下笔者呗!你的点赞和关注会让我更快更新哦。笔者会持续更新关于Java和大数据有关的文章。目前集中精力在更新java框架的内容。
pom.xml(加入依赖)
<dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.4</version></dependency>
继承UnpooledDataSourceFactory的类
Mybatis 没有帮开发者实现 c3p0 数据库连接池,故需要使用者自己实现 c3p0 来加载数据连接池。其实很简单的,只要继承 UnpooledDataSourceFactory 并把 dataSource 实现。我们的 mybatis 就实现了 c3p0 数据库连接池。
importorg.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory; importcom.mchange.v2.c3p0.ComboPooledDataSource; publicclassc3p0DataSourceFactoryextendsUnpooledDataSourceFactory{ publicc3p0DataSourceFactory(){ this.dataSource=newComboPooledDataSource(); } }
mybatis-config.xml全局配置文件配置c3p0
<propertiesresource="db.properties"/><environmentsdefault="mysql"><environmentid="mysql"><transactionManagertype="JDBC"></transactionManager><dataSourcetype="com.demo.utils.c3p0DataSourceFactory"><propertyname="driverClass"value="${jdbc.driver}"/><propertyname="jdbcUrl"value="${jdbc.url}"/><propertyname="user"value="${jdbc.username}"/><propertyname="password"value="${jdbc.password}"/><propertyname="initialPoolSize"value="5"/><propertyname="maxPoolSize"value="20"/><propertyname="minPoolSize"value="5"/></dataSource></environment></environments>
注意:
- dataSource的type必须是实现了UnpooledDataSourceFactory的类的全类名,也就是第二步实现的类的全类名。
- property下的name必须是规范的c3p0的driverClass、jdbcUrl、user等值。
- property下的value是引入的db.properties中的数据。
另外:
mybatis-config.xml全局配置文件中引入外部数据库文件db.properties的语句。(在configuration属性下;resource为引用的路径名,切莫引用错误)
<propertiesresource="db.properties"></properties>
db.properties文件的内容:(等号左边的属性名可以任意定义,但最好能见名知意)
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/databaseName?characterEncoding=UTF-8jdbc.username=usernamejdbc.password=password