Spring Boot 集成MyBatis简单教程

preview
需积分: 0 0 下载量 156 浏览量 更新于2024-02-03 收藏 155KB DOCX 举报
### Spring Boot集成MyBatis简单教程 #### 一、引言 随着微服务架构的兴起,Spring Boot作为Java领域中最热门的技术之一,以其简洁、快速的特性被广泛应用于企业级应用开发。MyBatis作为一款优秀的持久层框架,能够简化JDBC的操作,提供SQL语句的映射和管理功能。本教程将详细介绍如何在Spring Boot项目中集成MyBatis,包括项目搭建、实体类定义、服务层实现以及数据库配置等关键步骤。 #### 二、项目搭建 ##### 2.1 创建Spring Boot项目 1. **打开IDEA**:启动IntelliJ IDEA或其他支持Spring Boot的IDE。 2. **新建项目**:通过`File —— New —— Project`创建一个新的Spring Boot项目。 3. **使用Spring Initializr**:选择Spring Initializr作为项目的初始化工具。 4. **填写项目信息**: - **Group**:通常为公司域名倒序,例如`com.example`。 - **Artifact**:项目名,例如`spring-boot-mybatis-tutorial`。 - **Name**:项目展示名称,可与Artifact相同。 - **Description**:项目描述,例如“Spring Boot集成MyBatis示例”。 - **Packaging**:选择`jar`或`war`,这里选择`jar`。 - **Java**:选择项目使用的Java版本。 - **Dependencies**:添加依赖项,勾选`Web`、`JPA`、`MySQL Driver`、`MyBatis`等。 5. **项目创建**:确认信息无误后点击完成,IDEA将自动下载并构建项目。 ##### 2.2 定义实体类(POJO) 在`entity`包下创建实体类`Blog`: ```java public class Blog { private Integer bid; // 文章ID private String name; // 文章标题 private String authorId; // 文章作者ID // Getter和Setter方法 public Integer getBid() { return bid; } public void setBid(Integer bid) { this.bid = bid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthorId() { return authorId; } public void setAuthorId(String authorId) { this.authorId = authorId; } @Override public String toString() { return "Blog{" + "bid=" + bid + ", name='" + name + '\'' + ", authorId='" + authorId + '\'' + '}'; } } ``` #### 三、控制器实现 在`controller`包下创建`BlogController`类: ```java @RestController @EnableAutoConfiguration @RequestMapping("/blog") public class BlogController { @Autowired private BlogService blogService; @GetMapping("list") public Blog getBlog() { return blogService.getBlogById(1); } } ``` #### 四、服务层接口及实现 1. **创建服务接口**: ```java public interface BlogService { Blog getBlogById(int bid); int addBlog(Blog blog); } ``` 2. **实现类**: ```java @Component public class BlogServiceImpl implements BlogService { @Autowired private BlogMapper blogMapper; @Override public Blog getBlogById(int bid) { return blogMapper.selectByPrimaryKey(bid); } @Override public int addBlog(Blog blog) { // 实现新增博客的方法 return 0; } } ``` #### 五、数据库配置 在`application.yml`中进行数据库配置: ```yaml spring: profiles: active: dev mybatis: typeAliasesPackage: com.example.entity mapperLocations: classpath:mapper/*.xml --- spring: profiles: dev datasource: url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver ``` #### 六、MyBatis映射文件 1. **创建映射文件**:在`resources/mapper`目录下创建`BlogMapper.xml`文件。 2. **编写SQL映射**: ```xml <mapper namespace="com.example.mapper.BlogMapper"> <select id="selectByPrimaryKey" resultType="com.example.entity.Blog"> SELECT * FROM blogs WHERE bid = #{bid} </select> <insert id="insert" parameterType="com.example.entity.Blog"> INSERT INTO blogs (name, author_id) VALUES (#{name}, #{authorId}) </insert> </mapper> ``` #### 七、运行与测试 1. **启动项目**:运行`Application`类启动Spring Boot应用。 2. **访问接口**:通过浏览器或Postman等工具访问`http://localhost:8080/blog/list`,查看返回结果。 #### 八、总结 通过以上步骤,我们成功地在Spring Boot项目中集成了MyBatis,并实现了基本的CRUD操作。这种集成方式不仅提高了开发效率,还使得代码更加清晰易读。对于初学者来说,这是一个很好的实践案例,有助于更好地理解Spring Boot和MyBatis的工作原理及其在实际项目中的应用。