Spring-Boot 整合 Mybatis

springboot整合Mybatis

  • IDEA安装插件MyBatisX能更高效开发
可以Mapper接口和Mapper.xml互相跳转等功能

导入mybatis-spring-boot-start

alt

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--引入druid-starter-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.17</version>
        </dependency>

<!--引入最新版mybatis-spring-boot-starter-->
	<dependency>
    	<groupId>org.mybatis.spring.boot</groupId>
    	<artifactId>mybatis-spring-boot-starter</artifactId>
    	<version>2.2.2</version>
	</dependency>

alt

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--    不需要配置什么,因为spirngboot全帮我们配好了-->
</configuration>

xxxMapper接口

@Mapper
public interface xxxMapper {
    public Account  getAccount(Integer id);
}

xxxMapper接口绑定 ===> xxxMapper.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">

<!--namespace=绑定一个对应的Mapper接口-->
<mapper namespace="com.gwq.mapper.xxxMapper">
    <!--在这里面写sql-->
    
</mapper>

配置mybatis全局配置文件位置

  • 全局配置文件位置
  • sql映射文件位置 alt

AccountController

@RestController
public class AccountController {
    @Autowired
    AccountService accountService;

    //测试mybatis
    @GetMapping("/account/{id}")
    public Account getById(@PathVariable("id") int id){
        return accountService.getAccountByid(id);
    }
}

编写Controller层和Service层

最佳实战

主键自增,会默认放进对应插入pojo对象里面,即使你没传id值 alt

alt

===================================

整合Mybatis-Plus

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!--引入druid-starter-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.17</version>
</dependency>

<!--引入Mybatis-Plus-boot-starter-->
<dependency>
	<groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>
自动配置
● MybatisPlusAutoConfiguration 配置类,MybatisPlusProperties 配置项绑定。
	mybatis-plus:xxx 就是对mybatis-plus的定制
● SqlSessionFactory 自动配置好。底层是容器中默认的数据源
● mapperLocations 自动配置好的。有默认值。
	classpath*:/mapper/**/*.xml;
		任意包的类路径下的所有mapper文件夹下任意路径下的所有xml都是sql映射文件。  
		建议以后sql映射文件,放在 mapper下
● 容器中也自动配置好了 SqlSessionTemplate
● @Mapper 标注的接口也会被自动扫描;
	建议直接 @MapperScan("com.atguigu.admin.mapper") 批量扫描就行
优点
只需要我们的Mapper继承 BaseMapper 就可以拥有crud能力

技巧:标注类对应表名,设置属性不在表内

alt

全部评论

相关推荐

沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务