Spring Boot整合MyBatis操作学习笔记①

1.配置模式

  • 全局配置文件
  • SqlSessionFactory:自动配置好了
  • SqlSession: 自动配置了SqlSessionTemplate 组合了SqlSession
  • @Import(AutoConfiguredMapperScannerRegistrar.class)
  • Mapper: 只要我们写的操作MyBatis的接口标注了@Mapper就会被自动扫描进来
    @EnableConfigurationProperties(MybatisProperties.class) : MyBatis配置项绑定类。
    @AutoConfigureAfter({ DataSourceAutoConfiguration.class, MybatisLanguageDriverAutoConfiguration.class })
    public class MybatisAutoConfiguration{}
    
    @ConfigurationProperties(prefix = "mybatis")
    public class MybatisProperties

可以修改配置文件中mybatis开始的所有;

# 配置mybatis规则
mybatis:
  config-location: classpath:mybatis/mybatis-config.xml  #全局配置文件位置
  mapper-locations: classpath:mybatis/mapper/*.xml  #sql映射文件位置
  
Mapper接口--->绑定Xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.admin.mapper.AccountMapper">
<!--    public Account getAcct(Long id); -->
    <select id="getAcct" resultType="com.atguigu.admin.bean.Account">
        select * from  account_tbl where  id=#{id}
    </select>
</mapper>

配置private Configuration configuration; mybatis.configuration下面的所有,就是相当于改MyBatis全局配置文件中的值

# 配置mybatis规则
mybatis:
#  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true
    
 可以不写全局;配置文件,所有全局配置文件的配置都放在configuration配置项中即可

 

  • 导入MyBatis官方starter
  • 编写mapper接口. 标注@Mapper注解(也可以在启动类上加上@MapperScan替换@Mapper)
  • 编写SQL映射文件并绑定mapper接口
  • 在application.yaml中指定Mapper配置文件的位置, 以及指定全局配置文件的信息(建议: 配置在mybatis.configuration)

2. 注解模式

@Mapper
public interface CityMapper {

    @Select("select * from city where id=#{id}")
    public City getById(Long id);

    public void insert(City city);

}

3. 混合模式

@Mapper
public interface CityMapper {

    @Select("select * from city where id=#{id}")
    public City getById(Long id);

    public void insert(City city);

}

最佳实战:

  • 引入mybatis-starter
  • 配置application.yaml中, 指定mapper-location位置即可
  • 编写Mapper接口并标注@Mapper注解
  • 简单方法直接注解方式
  • 复杂方法编写mapper.xml进行绑定映射
  • @MapperScan("com.atguigu.admin.mapper")简化,其他的接口就可以不用标注@Mapper注解

 

posted @ 2021-07-12 10:44  Jason_Matrix  阅读(61)  评论(0)    收藏  举报