MyBatis自动配置(MyBatisAutoConfiguration)

MyBatis自动配置(MyBatisAutoConfiguration)

数据源配置请参考:https://blog.youkuaiyun.com/ttyy1112/article/details/99305500
事务管理配置请参考:https://blog.youkuaiyun.com/ttyy1112/article/details/98943098

MyBatis自动配置主要实现如下功能:

  1. 创建SqlSessionFactory Bean。
  2. 创建SqlSessionTemplate Bean。
  3. 注册MapperScannerConfigurer BeanDefinition,它实现了BeanDefinitionRegistryPostProcessor接口,会自动将@Mapper注解的类添加到BeanDefinition。

1. 添加starter依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.0</version>
</dependency>

2. 配置文件示例

# mybatis
mybatis:
    type-aliases-package: com.tm.sbia.feature.domain
    check-config-location: false
    mapper-locations: classpath*:mybatis/**/*mapper.xml
    type-handlers-package: 
    configuration:
        # 全局映射器启用缓存
        cache-enabled: true
        # 查询时,关闭关联对象即时加载以提高性能
        lazy-loading-enabled: true
        # 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指 定),不会加载关联表的所有字段,以提高性能
        aggressive-lazy-loading: false
        # 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果
        multiple-result-sets-enabled: true
        # 允许使用列标签代替列名
        use-column-label: true
        #允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖
        #use-generated-keys: true
        # 给予被嵌套的resultMap以字段-属性的映射支持
        auto-mapping-behavior: FULL
        # 对于批量更新操作缓存SQL以提高性能
        #default-executor-type: BATCH
        # 数据库超过25000秒仍未响应则超时
        default-statement-timeout: 0
        # 使用驼峰规则
        map-underscore-to-camel-case: true
        # 默认的枚举处理类
        default-enum-type-handler: 

3. MyBatis插件

分页管理: PageHelper

参考

MyBatis-Spring中实现spring事务管理解析
spring事务和myBatis事务的设置
从Spring集成mybatis了解Spring事务
Mybatis插件机制详解
MyBatis 框架学习——Mybatis分页之PageHelper插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值