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

全部评论

相关推荐

ResourceUtilization:四六级不愧是大学最有用的证之一
点赞 评论 收藏
分享
抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
如题,这操作。。。。
真烦好烦真烦:既想享受国家的招聘应届生福利,又不想培养新人,我只能说这种企业的ld太过分了
投递美的集团等公司6个岗位 >
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务