dubbo+mybatis+log4j

将之前的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测试类

运行环境即可

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值