首页 > Java框架应用 > MyBatis 入门教程 > spring-boot 集成 MyBatis

spring-boot 集成 MyBatis

1. 前言

spring-boot 可谓是 Java 领域中最火的框架之一, 也是目前 Java 应用开发的事实标准,如果不会使用未免有些 out。本小节,我们将一起学习如何使用 spring-boot 来集成 MyBatis。

2. 项目初始化

对于拥有 IDEA 专业版的人来说,新建 spring-boot 项目是十分方便的,当然如果你没有也没关系,Spring 官方给我们提供了一个快速新建项目的网站。

打开 https://start.spring.io/ 。如下:
图片描述

给项目输入合适的 groupId 和 artifactId 然后点击生成按钮,浏览器会自动下载一个压缩包 springboot-mybatis-exmaple.zip。

解压该包,并通过 IDE 打开这个项目。

3. 启动器

在项目的 pom 文件中添加如下 3 个依赖:

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.1</version>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.18</version>
</dependency>

mybatis-spring-boot-starter 是 MyBatis 为 spring-boot 提供的启动器,添加后就可以以少量的配置来快速的使用 MyBatis;spring-boot-starter-web 是 spring-boot 提供的 Web 启动器,会给我们提供一个 Web 应用环境;mysql-connector-java 是 MySQL 数据库驱动依赖。

4. 配置

在 src/main/resources 有 spring-boot 提供的默认配置文件 application.properties。在该配置文件下,我们需要添加上对于的数据源配置。

# 数据源配置,请修改为你项目的实际配置
spring.datasource.url=jdbc:mysql://localhost:3306/imooc
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

5. 实践

5.1 模型层

在项目的 com.imooc.mybatis.springbootmybatisexample 的包下新建 model 包,并在该包下新建 User 类。如下:

public class User implements Serializable {
  private Long id;
  private String username;
  private Integer age;
  private Integer score;
  // 省略 getter 和 setter 方法
}

User 类与数据表 imooc_user 对应。

5.2 数据访问层

在 com.imooc.mybatis.springbootmybatisexample 包下新建 mapper 包,并新建 UserMapper 类。如下:

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
}

5.3 控制层

在 com.imooc.mybatis.springbootmybatisexample 包下新建 controller 包,并新建 UserController 类。如下:

import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
}

使用 RestController 注解将 UserController 标记为控制器。

5.4 完善

有了雏形后,我们再为这些类添加上具体的业务,比如查询所有 imooc_user 用户。

  1. 在 UserMapper 中,我们添加上 getUsers 接口方法,并通过 Select 注解来映射相应的 SQL 语句。

    @Mapper
    

    @Repository public interface UserMapper { @Select("SELECT * FROM imooc_user") List getUsers(); }

  2. 在 UserController 中,我们添加上对应的 getUsers API,该 API 对外暴露所有用户数据。

    @RestController
    

    @RequestMapping("/user") public class UserController { @Autowired private UserMapper userMapper;

    @GetMapping public List getUsers() { return userMapper.getUsers(); } }

5.5 测试

运行项目,如果你使用 IDE,可直接通过按钮来运行,如果没有也可使用终端来运行程序:

mvn spring-boot:run

运行成功后,我们测试一下:

curl 127.0.0.1:8080/user/



[{"id":1,"username":"peter","age":18,"score":100},
{"id":2,"username":"pedro","age":24,"score":200},
{"id":3,"username":"jerry","age":28,"score":500}]

6. 小结

  • spring-boot 集成 MyBatis 是十分方便的,只需少量的配置就可轻松使用 MyBatis。
  • spring-boot + MyBatis 几乎是国内标配,请务必要上手实操一下。
本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈