将之前的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测试类
运行环境即可
相关推荐
该项目采用maven聚合工程,项目骨架是我们以前公司架构师搭建骨架,现在已经拆分出来供大家下载使用,可以扩展使用,里面用到技术有springmvc+mybatis+mysql+log4j.xml+logjdbc+maven+nexus+dubbo ,其中日志采用log...
通过Spring+mybatis+SpingMVC+dubbo+zookeeper集成,客户端和服务端完成代码。运行代码前请先修改配置数据库配置文件log4j.properties和dubbo配置文件 spring-dubbo.xml。同时需要搭建好自己的zookeeper服务器。
- **日志管理**: SLF4J + Log4j(日志记录API和实现)。 - **工具类**: Apache Commons、Jackson、Xstream、Dozer、POI等。 - **前端** - **JS框架**: JQuery(轻量级JavaScript库)。 - **CSS框架**: Bootstrap...
你可以根据需求在`logback.xml`或`log4j2.xml`中定制日志级别、输出格式和文件路径。如果需要在分布式环境中统一管理日志,可以考虑引入ELK(Elasticsearch、Logstash、Kibana)或者Graylog这样的日志分析工具。 在...
采用两个版本第一个版本:springboot+mybatis+dubbo+rocketmq+mysql+redis等。第二个版 MySQL 是一款广受欢迎的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,现隶属于美国甲骨文公司(Oracle)。自...
日志管理:SLF4J 1.7 + Log4j2 2.7 布局框架:SiteMesh 3.0.1 分布式应用程序协调服务:ZooKeeper 3.3.1 分布式服务框架:Dubbo 2.5.3 接口测试框架:Swagger2 2.6.1 工具类:Apache Commons、Jackson 2.2、fastjson...
| Log4J | 日志组件 | | Fastjson |JSON处理器| | Maven | 项目构建管理 | | dubbo|分布式服务框架| 系统功能 | **序号** | **功能** | **是否完成**| | ------------- |:-------------:| -------------:| |0.|...
日志管理:SLF4J 1.7 + Log4j2 2.7 布局框架:SiteMesh 3.0.1 分布式应用程序协调服务:ZooKeeper 3.3.1 分布式服务框架:Dubbo 2.5.3 接口测试框架:Swagger2 2.6.1 工具类:Apache Commons、Jackson 2.2、fastjson...
日志管理:SLF4J 1.7 + Log4j2 2.7 布局框架:SiteMesh 3.0.1 分布式应用程序协调服务:ZooKeeper 3.3.1 分布式服务框架:Dubbo 2.5.3 接口测试框架:Swagger2 2.6.1 工具类:Apache Commons、Jackson 2.2、fastjson...
简单的介绍这个项目是一个大学生信息管理系统,提供用户等级的登录注册数据管理,信息查询,信息修改(管理员权限),简单的数据可视化分析等功能,也有基本的安全性保障SpringBoot + Mybatis分支: : SpringBoot + ...
● 核心框架:Spring Framework 4.3.0 + Dubbo 2.5.3 ● 安全框架:Apache Shiro 1.2 ● 任务调度:Spring + Quartz ...● 日志管理:SLF4J、Log4j2 ● 前端框架:Angular JS + Bootstrap + Jquery
- 日志配置:例如使用log4j2进行日志记录,包括日志级别、输出位置等。 4. **测试类** 为了验证配置是否正确,项目通常会包含测试类。这些测试类使用JUnit或者Spring Boot的TestRunner,模拟数据库操作,检查...
在项目依赖环境的自动配置方面,例如Mybatis、Dubbo、log4j、RabbitMQ和Redis,我们可以为每个库创建对应的配置类,并在类上使用自定义的自动配置注解。配置类内部通常包含 `@Bean` 方法,用于定义和配置bean。例如...
| Log4J | 日志组件 | | Fastjson |JSON处理器| | Maven | 项目构建管理 | | dubbo|分布式服务框架| # 系统功能 | **序号** | **功能** | **是否完成**| | ------------- |:-------------:| -------------:| |0.|...
<value>classpath:config/log4j.properties <bean id="userService" class="com.ivan.dubbo.service.impl.UserServiceImpl"/> <!--提供方应用信息,用于计算依赖关系--> <dubbo:application name="ivan-...
Spring-Session日志管理:SLF4J、Log4j2前端框架:Angular JS + Bootstrap + Jquery启动说明:* 项目依赖activemq、Redis和ZooKeeper服务。* 使用nginx代理UI:修改配置里的UI目录后重启nginx。* 启动方法:...
基于Dubbo的微服务基础框架,为前端提供脚手架开发基础框架,项目代码: 项目定位: 用于从大单体应用中解耦,实施前后端分离部署、...集成Log4j日志服务 集成redis,提供缓存 集成mybatis 集成mybatis-generator,快
使用slf4j+log4j做日志记录 使用druid做连接池及监控 采用mysql作为数据库 使用kaptcha并二次开发作为验证码 使用maven作为jar管理 使用redis作为缓存 使用poi导出excel 项目亮点: 严格的权限控制,当然你也可以自己...