从零开始学Spring Boot系列-集成MyBatis-Plus

在Spring Boot应用开发中,MyBatis-Plus是一个强大且易于使用的MyBatis增强工具,它提供了很多实用的功能,如代码生成器、条件构造器、分页插件等,极大地简化了MyBatis的使用和配置。本篇文章将指导大家如何在Spring Boot项目中集成MyBatis-Plus。

一、项目准备

首先,确保你已经安装了Java开发环境(JDK)和Maven或Gradle等构建工具。接下来,创建一个新的Spring Boot项目。你可以使用Spring Initializrhttps://start.spring.io来快速生成项目结构,选择你需要的依赖项,比如Spring Web、MySQL Driver等。

二、添加MyBatis-Plus依赖

在Gradle项目中集成MyBatis-Plus,你需要在项目的build.gradle文件中添加MyBatis-Plus的依赖。以下是添加MyBatis-Plus依赖的示例:

    dependencies {         implementation 'org.springframework.boot:spring-boot-starter-web'         compileOnly 'org.projectlombok:lombok'         annotationProcessor 'org.projectlombok:lombok'         runtimeOnly 'mysql:mysql-connector-java:8.0.17'         // MyBatis-Plus 依赖         implementation 'com.baomidou:mybatis-plus-spring-boot3-starter:3.5.6'         // 如果需要分页插件,可以添加以下依赖         implementation 'com.baomidou:mybatis-plus-extension:3.5.6'     } 

三、配置数据源

在application.properties或application.yml文件中,配置你的数据库连接信息。以下是application.yml的示例:

# datasource spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true   spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver  # mybatis-plus mybatis-plus.mapper-locations=classpath:mapper/*.xml mybatis-plus.type-aliases-package=cn.daimajiangxin.springboot.learning.model 

这里的your_database、your_username和your_password需要替换为你的数据库名称、用户名和密码。mapper-locations指定了MyBatis映射文件的位置,type-aliases-package指定了实体类所在的包。

四、创建实体类

创建与数据库表对应的实体类,并放在type-aliases-package指定的包下。

package cn.daimajiangxin.springboot.learning.model;  import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data;  @TableName(value ="user") @Data public class User implements Serializable {     /**      * 学生ID      */     @TableId(type = IdType.AUTO)     private Long id;      /**      * 姓名      */     private String name;      /**      * 邮箱      */     private String email;      /**      * 年龄      */     private Integer age;      /**      * 备注      */     private String remark;      @TableField(exist = false)     private static final long serialVersionUID = 1L; } 

五、创建Mapper接口

创建对应的Mapper接口,通常放在与实体类相同的包下,并继承BaseMapper 接口。例如:

package cn.daimajiangxin.springboot.learning.mapper;  import cn.daimajiangxin.springboot.learning.model.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface UserMapper extends BaseMapper<User> {  } 

六、创建Mapper XML文件

在resources的mapper目录下创建对应的XML文件,例如UserMapper.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"> <mapper namespace="cn.daimajiangxin.springboot.learning.mapper.UserMapper">      <resultMap id="BaseResultMap" type="cn.daimajiangxin.springboot.learning.model.User">             <id property="id" column="id" jdbcType="BIGINT"/>             <result property="name" column="name" jdbcType="VARCHAR"/>             <result property="email" column="email" jdbcType="VARCHAR"/>             <result property="age" column="age" jdbcType="INTEGER"/>             <result property="remark" column="remark" jdbcType="VARCHAR"/>     </resultMap>      <sql id="Base_Column_List">         id,name,email,age,remark     </sql>        <select id="findAllUsers"  resultMap="BaseResultMap">      select        <include refid="Base_Column_List"></include>      from user     </select> </mapper>  

七、创建Service 接口

在service目录下服务类接口UserService

package cn.daimajiangxin.springboot.learning.service;  import cn.daimajiangxin.springboot.learning.model.User; import com.baomidou.mybatisplus.extension.service.IService;  public interface UserService extends IService<User> {  } 

八、创建Service实现类

在service目录下创建一个impl目录,并创建UserService实现类UserServiceImpl

package cn.daimajiangxin.springboot.learning.service.impl;  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.daimajiangxin.springboot.learning.model.User; import cn.daimajiangxin.springboot.learning.service.UserService; import cn.daimajiangxin.springboot.learning.mapper.UserMapper; import org.springframework.stereotype.Service; @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User>implements UserService{  } 

九、创建Controller

控制层注入 UserService,并使用IService的list和save 方法。

package cn.daimajiangxin.springboot.learning.controller;  import cn.daimajiangxin.springboot.learning.model.User; import cn.daimajiangxin.springboot.learning.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController;  import java.util.List;  @RestController public class UserController {     private final UserService userService;      @Autowired     public UserController(UserService userService) {         this.userService = userService;     }     @GetMapping("/users")     public List<User> getAllUsers() {         return userService.list();     }     @PostMapping("/user")     public String add() {         User user=new User();         user.setName("test");         user.setAge(18);         user.setEmail("test@163.com");         userService.save(user);         return "保存成功";     }  }  

十、测试

运行你的Spring Boot应用程序,并通过调用UserService的list方法来测试MyBatis-plus的集成效果。你可以通过编写单元测试或使用Postman或apipost等工具来发送HTTP请求,访问来http://localhost:8080/users查看所有用户的列表。
从零开始学Spring Boot系列-集成MyBatis-Plus

总结

在本篇文章中,我们详细介绍了如何在Spring Boot项目中集成MyBatis-Plus,并使用XML文件定义Mapper接口的实现。首先,我们添加了MyBatis-Plus的依赖,并配置了数据源。接着,我们创建了实体类,并使用了MyBatis-Plus的注解来指定实体类与数据库表的映射关系。然后,我们创建了Mapper接口,并继承了BaseMapper以使用MyBatis-Plus提供的CRUD方法。为了更灵活地控制SQL语句的编写,我们还编写了Mapper的XML文件,并在其中定义了自定义的SQL语句。最后,在Service层或Controller层中,我们通过注入Mapper接口来使用这些功能。

通过集成MyBatis-Plus并使用XML实现Mapper,我们可以在Spring Boot项目中高效地进行数据库操作,同时保持代码的清晰和可维护性。MyBatis-Plus的增强功能和XML的灵活性相结合,使得数据访问层的开发变得更加简单和高效。


我是代码匠心,和我一起学习更多精彩知识!!!扫描二维码!关注我,实时获取推送。
从零开始学Spring Boot系列-集成MyBatis-Plus
源文来自:https://daimajiangxin.cn

发表评论

评论已关闭。

相关文章