前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教你在SpringBoot项目中优雅的使用 Mybatis

教你在SpringBoot项目中优雅的使用 Mybatis

作者头像
码农小胖哥
发布2019-12-10 16:20:15
5870
发布2019-12-10 16:20:15
举报

由于项目中使用mybatis比较多,并且mybatis这种半orm形式的持久层框简单又不失可控性,所以这一章简单讲一下springboot与mybatis的集成。

mybatis-spring-boot-starter

官方说明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot Springboot整合mybatis主要有两种方案,一种是使用注解解决,另一种是简化后的传统方式。当然两种方式首先都得添加pom依赖,这是必不可少的,下面正式进入

代码语言:javascript
复制
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>

无配置文件注解

即所有问题都通过注解解决,这也是我喜欢的方式

1、添加POM文件
代码语言:javascript
复制
<!-- mybatis相关-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
2、APPLICATION.PROPERTIES 添加相关配置
代码语言:javascript
复制
mybatis.mapperLocations=classpath*:/mapper/*.xml

在启动类中添加对mapper包扫描@MapperScan。

代码语言:javascript
复制
@MapperScan(basePackages = {"com.liangliang.lessons.mapper"})
@SpringBootApplication
public class LessonsApplication {

    public static void main(String[] args) {
        SpringApplication.run(LessonsApplication.class, args);
    }
}
3、开发MAPPER
代码语言:javascript
复制
@Mapper
public interface UserMapper {
    List<UserEntity> getAll();

    UserEntity getOne(Long id);

    void insert(UserEntity user);

    void update(UserEntity user);

    void delete(Long id);
}

为了更接近生产我特地将usersex、nickname两个属性在数据库加了下划线和实体类属性名不一致,另外user_sex使用了枚举。

4、使用

上面三步就基本完成了相关dao层开发,使用的时候当作普通的类注入进入就可以了。

代码语言:javascript
复制
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class UserMapperTest {
    @Autowired
    UserMapper userMapper;
    @Test
    public void getAll() throws Exception {
        System.out.println("----------userMapper:"+userMapper);
        userMapper.getOne(1l);
    }

    @Test
    public void getOne() throws Exception {
    }

    @Test
    public void insert() throws Exception {
    }

    @Test
    public void update() throws Exception {
    }

    @Test
    public void delete() throws Exception {
    }

}

到此,单元测试完成,controller中写法在代码中有详细的注解,直接使用即可,对于另一种在mapper中写sql注解的方式,这里不做说明,这种做法对代码侵入性太高,不建议使用,网上也有相应教程,感兴趣的小伙伴可以自行写。同样代码地址在 https://github.com/liangliang1259/daily-lessons.git 中的项目lessons-4

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农小胖哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mybatis-spring-boot-starter
  • 无配置文件注解
    • 1、添加POM文件
      • 2、APPLICATION.PROPERTIES 添加相关配置
        • 3、开发MAPPER
          • 4、使用
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档