SpringCloud集成mybatis

160阅读 0评论2018-06-29 hiyachen
分类:Java

https://blog.csdn.net/weixin_42123821/article/details/80532917

1.集成mybatis

①引入依赖



org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2

②配置


#Mybatis配置
mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.log4j.Log4jImpl #使用日志
    cache-enabled: true                                 #使全局的映射器启用或禁用缓存
    lazy-loading-enabled: true                          #全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载
    aggressive-lazy-loading: true                       #当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载
    multiple-result-sets-enabled: true                  #是否允许单条sql 返回多个数据集  (取决于驱动的兼容性) default:true
    use-column-label: true                              #是否可以使用列的别名 (取决于驱动的兼容性) default:true
    use-generated-keys: true                            #允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。  default:false
    auto-mapping-behavior: partial                      #指定 MyBatis 如何自动映射 数据基表的列 NONE:不映射 PARTIAL:部分  FULL:全部
    default-executor-type: simple                       #这是默认的执行类型  (SIMPLE: 简单; REUSE: 执行器可能重复使用prepared statements语句;BATCH: 执行器可以重复执行语句和批量更新)
    map-underscore-to-camel-case: true                  #使用驼峰命名法转换字段
    local-cache-scope: session                          #设置本地缓存范围 session:就会有数据的共享  statement:语句范围 (多个SqlSession或者分布式的环境下使用,避免脏读 ) defalut:session
    jdbc-type-for-null: null                            #设置但JDBC类型为空时,某些驱动程序 要指定值,default:OTHER,插入空值时不需要指定类型


2.集成Druid

①引入依赖



com.alibaba
druid-spring-boot-starter
1.1.10

②配置

  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/demo?useSSL=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    druid:
      initial-size: 1
      max-active: 20
      min-idle: 3
      max-wait: 60000
      pool-prepared-statements: false
      validation-query: SELECT 'x'
      test-on-borrow: false
      test-on-return: false
      test-while-idle: true
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 30000
      max-pool-prepared-statement-per-connection-size: 20


③配置filter


import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


/**
 * Druid 配置
 * @author ThinkGem
 * @version 2017年11月30日
 */
@Configuration
@ConditionalOnProperty(name="druid.stat.enabled", havingValue="true", matchIfMissing=true)
public class DruidStatConfig {


/**
* 注册DruidFilter拦截
*/
@Bean
public FilterRegistrationBean duridFilter() {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
bean.addInitParameter("exclusions", "*.css,*.js,*.png,"
+ "*.jpg,*.gif,*.jpeg,*.bmp,*.ico,*.swf,*.psd,*.htc,*.htm,*.html,"
+ "*.crx,*.xpi,*.exe,*.ipa,*.apk,*.otf,*.eot,*.svg,*.ttf,*.woff,"
+ "/druid/*");
bean.addUrlPatterns("/*");
return bean;
}

/**
* 注册DruidServlet
*/
@Bean
public ServletRegistrationBean druidServlet() {
ServletRegistrationBean bean = new ServletRegistrationBean();
bean.setServlet(new StatViewServlet());
bean.addUrlMappings("/druid/*");
return bean;
}

}

3.集成Generator

①引入依赖



org.mybatis.generator
mybatis-generator-core
1.3.6

②配置maven插件

                        
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.6


mysql
mysql-connector-java
5.1.46



src/main/resources/mybatis/generatorConfig.xml
true

3.配置generatorConfig.xml



        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">



   
       
           
           
       



                                connectionURL="jdbc:mysql://127.0.0.1:3306/demo"
                        userId="root"
                        password="root">
       



       
           
       



       
           
           
       



       
           
       



       
           
       







       

               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">

   

4.配置日志

①引入依赖



log4j
log4j
1.2.17

②配置log4j.properties


Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.com.kate.cloud.shiro.dao=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n


上一篇:前后端分离的演变
下一篇:微服务架构-SpringCloud