提示信息

Spring Boot 整合MyBatis Plus及常见注解解析

玻璃杯 已关注

在Spring Boot中整合MyBatis Plus可以极大地方便数据库操作。MyBatis Plus是MyBatis的增强工具,它简化了CRUD操作,并提供了一些实用的功能。以下是Spring Boot整合MyBatis Plus,并解析一些常见注解的步骤和信息:

1. 添加依赖

pom.xml中添加MyBatis Plus和相关数据库驱动依赖:

  1. <dependency>
  2. <groupId>com.baomidou</groupId>
  3. <artifactId>mybatis-plus-boot-starter</artifactId>
  4. <version>3.5.3.1</version>
  5. </dependency>
  6. <!-- 添加对应的数据库驱动 -->
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <version>8.0.33</version>
  11. </dependency>

2. 配置数据源

application.ymlapplication.properties文件中配置数据源信息:

  1. spring:
  2. datasource:
  3. url: jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
  4. username: your_username
  5. password: your_password
  6. driver-class-name: com.mysql.cj.jdbc.Driver

3. 配置MyBatis Plus

可以创建一个MyBatis Plus配置类,进行一些默认配置:

  1. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  2. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. @Configuration
  6. public class MyBatisPlusConfig {
  7. @Bean
  8. public MybatisPlusInterceptor mybatisPlusInterceptor() {
  9. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  10. interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
  11. return interceptor;
  12. }
  13. }

4. 创建实体类

创建一个实体类并使用@TableName指定数据库表,@TableId指定主键:

  1. import com.baomidou.mybatisplus.annotation.TableId;
  2. import com.baomidou.mybatisplus.annotation.TableName;
  3. import lombok.Data;
  4. @Data
  5. @TableName("user")
  6. public class User {
  7. @TableId
  8. private Long id;
  9. private String name;
  10. private Integer age;
  11. private String email;
  12. }

5. 创建Mapper接口

Mapper接口继承自BaseMapper,不用编写CRUD方法:

  1. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  2. import org.apache.ibatis.annotations.Mapper;
  3. @Mapper
  4. public interface UserMapper extends BaseMapper<User> {
  5. }

6. 使用Mapper接口

在服务层或者控制器中可以直接使用@Autowired来注入Mapper接口,并直接调用CRUD方法:

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.stereotype.Service;
  3. import java.util.List;
  4. @Service
  5. public class UserService {
  6. @Autowired
  7. private UserMapper userMapper;
  8. public List<User> getAllUsers() {
  9. return userMapper.selectList(null);
  10. }
  11. public void addUser(User user) {
  12. userMapper.insert(user);
  13. }
  14. // 其他CRUD方法...
  15. }

常见注解解析

  • @TableName: 指定实体类对应的表名。
  • @TableId: 指定数据库表的主键字段。
  • @TableField: 指定非主键字段,或者用来设置某些字段不持久化。
  • @Version: 用于乐观锁的版本控制字段。
  • @TableLogic: 用于逻辑删除字段。

以上是Spring Boot结合MyBatis Plus的基本步骤和一些常见注解的解析。MyBatis Plus还提供了一些其他特性如分页查询、动态SQL等,非常适合在Spring Boot项目中使用。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
玻璃杯 关注 已关注

最近一次登录:2024-11-20 13:15:50   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图