将之前的provider项目加入mybatis
首先在pom中引入mybatis依赖
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.19</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.20</version>
</dependency>
顺便引入druid数据库连接池
配置mybatis-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="false" />
<setting name="lazyLoadingEnabled" value="false" />
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
<plugins>
<plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"/>
</plugin>
</plugins>
</configuration>
配置spring-database.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="driverClassName" value="${master.driverClassName}" />
<property name="url" value="${master.url}" />
<property name="username" value="${master.username}" />
<property name="password" value="${master.password}" />
<!--initialSize: 初始化连接 -->
<property name="initialSize" value="${initialSize}"></property>
<!--minIdle: 最小空闲连接 -->
<property name="minIdle" value="${minIdle}"></property>
<!--连接池中保留的最大连接数 -->
<property name="maxActive" value="${maxActive}"></property>
<!--removeAbandoned: 是否自动回收超时连接 -->
<property name="removeAbandoned" value="${removeAbandoned}" />
<!--removeAbandonedTimeout: 超时时间(以秒数为单位) -->
<property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />
<!--timeBetweenEvictionRunsMillis -1 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. -->
<property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}"></property>
<!--minEvictableIdleTimeMillis 1000 * 60 * 30 连接在池中保持空闲而不被空闲连接回收器线程 -->
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}"></property>
<!-- testOnBorrow true 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个. -->
<property name="testOnBorrow" value="${testOnBorrow}"></property>
<!--testWhileIdle false 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败, 则连接将被从池中去除. -->
<property name="testWhileIdle" value="${testWhileIdle}"></property>
<!-- validationQuery SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定, 则查询必须是一个SQL
SELECT并且必须返回至少一行记录 -->
<property name="validationQuery" value="${validationQuery}"></property>
<property name="filters" value="stat"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml" />
<property name="mapperLocations">
<list>
<value>classpath:com/user/**/*.xml</value>
</list>
</property>
</bean>
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 开启事务注解扫描 -->
<tx:annotation-driven transaction-manager="txManager" proxy-target-class="true" />
<!-- scan for mappers and let them be autowired -->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 配置sqlSessionFactory 实例化datasbase 时未加载properties文件报错,待解决 -->
<!-- <property name="sqlSessionFactoryBeanName" ref="sqlSessionFactory"
/> -->
<property name="basePackage" value="com.user" />
</bean>
</beans>
在spring总控文件中引入spring-database.xml文件
配置database.properties数据库连接文件
master.driverClassName=com.mysql.jdbc.Driver
master.url=jdbc:mysql://192.168.1.193:3306/boss_new??&useUnicode=true&zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8
master.username=root
master.password=123456
initialSize=0
minIdle=0
maxActive=40
removeAbandoned=true
removeAbandonedTimeout=1000
timeBetweenEvictionRunsMillis=36000
minEvictableIdleTimeMillis=180000
validationQuery=select 1 from dual
testOnBorrow=true
testWhileIdle=true
将数据库sql日志打印出来 log4j配置
#Console Log
log4j.rootLogger=DEBUG, console, file
# Write to Console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p %d{MM-dd HH:mm:ss}(%F:%L): %m%n
#Write to File
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=${catalina.home}log/provider.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p %d{MM-dd HH:mm:ss}(%F:%L): %m%n
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
最后将利用mybatis generator生成好的domain interface 放入之前的interfaced项目中,并打包发布到私服环境,将xml文件放入provider项目指定位置,并写一个简单的service测试类
运行环境即可