安丘做网站,网站建设信息发布,江北区网络推广技巧,网站如何做视频链接在Spring Boot应用开发中#xff0c;MyBatis-Plus是一个强大且易于使用的MyBatis增强工具#xff0c;它提供了很多实用的功能#xff0c;如代码生成器、条件构造器、分页插件等#xff0c;极大地简化了MyBatis的使用和配置。本篇文章将指导大家如何在Spring Boot项目中集成…在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-webcompileOnly org.projectlombok:lombokannotationProcessor org.projectlombok:lombokruntimeOnly 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.urljdbc:mysql://localhost:3306/your_database?useSSLfalseserverTimezoneUTCuseLegacyDatetimeCodefalseallowPublicKeyRetrievaltrue
spring.datasource.usernameyour_username
spring.datasource.passwordyour_password
spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver# mybatis-plus
mybatis-plus.mapper-locationsclasspath:mapper/*.xml
mybatis-plus.type-aliases-packagecn.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 BaseMapperUser {}六、创建Mapper XML文件
在resources的mapper目录下创建对应的XML文件例如UserMapper.xml
?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecn.daimajiangxin.springboot.learning.mapper.UserMapperresultMap idBaseResultMap typecn.daimajiangxin.springboot.learning.model.Userid propertyid columnid jdbcTypeBIGINT/result propertyname columnname jdbcTypeVARCHAR/result propertyemail columnemail jdbcTypeVARCHAR/result propertyage columnage jdbcTypeINTEGER/result propertyremark columnremark jdbcTypeVARCHAR//resultMapsql idBase_Column_Listid,name,email,age,remark/sqlselect idfindAllUsers resultMapBaseResultMapselectinclude refidBase_Column_List/includefrom 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 IServiceUser {}八、创建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 ServiceImplUserMapper, Userimplements 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;Autowiredpublic UserController(UserService userService) {this.userService userService;}GetMapping(/users)public ListUser getAllUsers() {return userService.list();}PostMapping(/user)public String add() {User usernew User();user.setName(test);user.setAge(18);user.setEmail(test163.com);userService.save(user);return 保存成功;}}
十、测试
运行你的Spring Boot应用程序并通过调用UserService的list方法来测试MyBatis-plus的集成效果。你可以通过编写单元测试或使用Postman或apipost等工具来发送HTTP请求访问来http://localhost:8080/users查看所有用户的列表。
总结
在本篇文章中我们详细介绍了如何在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的灵活性相结合使得数据访问层的开发变得更加简单和高效。 我是代码匠心和我一起学习更多精彩知识扫描二维码关注我实时获取推送。 源文来自https://daimajiangxin.cn
源码地址https://gitee.com/daimajiangxin/springboot-learning