承接上一篇关于spring 5.x的日志体系,本篇看看Mybatis的日志体系及实现,Mybatis版本基于3.x。

  关于mybatis的官方文档比较友好,分门别类,各有论述,如mybatis官方文档详见https://mybatis.org/mybatis-3/#,mybatis与spring的官方文档详见http://mybatis.org/spring/index.html,与springboot相关的参见http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/#,官方文档写的很完备,也适合初学者。

Mybatis环境搭建及日志展示

  研究mybatis日志,有必要写一个demo,该有的数据库(Mysql)相关的jar包依赖都应该有,pom文件如下。

复制代码
 1 <dependency> 2     <groupId>org.mybatis</groupId> 3     <artifactId>mybatis</artifactId> 4     <version>3.4.6</version> 5 </dependency> 6  7 <dependency> 8     <groupId>org.mybatis</groupId> 9     <artifactId>mybatis-spring</artifactId>10     <version>1.3.2</version>11 </dependency>12 13 <dependency>14     <groupId>mysql</groupId>15     <artifactId>mysql-connector-java</artifactId>16     version>8.0.13</version>17 </dependency>18 19 <dependency>20     <groupId>org.springframework</groupId>21     <artifactId>spring-jdbc</artifactId>22     <version>5.1.3.RELEASE</version>23 </dependency>24 25 <dependency>26     <groupId>org.springframework</groupId>27     <artifactId>spring-context</artifactId>28     <version>5.1.3.RELEASE</version>29 </dependency>
复制代码

  配置mybatis环境:java config风格获取一个SqlSessionFactoryBean和动态动态注入一个数据源dataSource,连接本地的数据库company,表为user。

复制代码
 1 @Configuration  2 @ComponentScan("com.mystyle")  3 @MapperScan("com.mystyle.dao")  4 public class MybatisConfig {  5     @Bean  6     @Autowired  7     public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) throws Exception {  8         SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();  9         sqlSessionFactoryBean.setDataSource(dataSource); 10 //        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration(); 11 //        configuration.setLogImpl(Log4jImpl.class); 12 //        sqlSessionFactoryBean.setConfiguration(configuration);13         return sqlSessionFactoryBean; 14     } 15 16     @Bean 17     public DataSource dataSource() { 18        DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(); 19        driverManagerDataSource.setUsername("root"); 20        driverManagerDataSource.setPassword("12345678");