SpringBoot整合MyBatisPlus详解

下面是关于“SpringBoot整合MyBatisPlus详解”的完整攻略:

1. 环境准备

  • JDK 1.8及以上
  • Maven 3.0或更高版本
  • SpringBoot 2.x
  • MyBatisPlus 3.x

2. 依赖导入

在pom.xml文件中添加如下依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本</version>
</dependency>

3. 数据库配置

在application.yml文件中配置数据源及MyBatisPlus相关配置。以下是一个示例:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mytest?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root

mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true

4. 代码编写

4.1 创建实体类

在dao的包下创建一个实体类(如User.java),使用@TableName注解指定对应的表名,使用@TableId注解指定主键字段。

@Data
@TableName("t_user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String username;
    private String password;
    private String nickname;
}

4.2 创建Mapper接口

在dao的包下创建一个接口(如UserMapper.java),并继承BaseMapper接口。

public interface UserMapper extends BaseMapper<User> {
}

4.3 创建Service类

在service的包下创建一个Service类(如UserService.java),并使用@Service注解标注。

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List<User> list(){
        return userMapper.selectList(null);
    }

    public User getById(Long id){
        return userMapper.selectById(id);
    }

    public int save(User user){
        return userMapper.insert(user);
    }

    public int update(User user){
        return userMapper.updateById(user);
    }

    public int remove(Long id){
        return userMapper.deleteById(id);
    }

}

4.4 创建Controller类

在controller的包下创建一个Controller类(如UserController.java),并使用@RestController注解标注。

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/user/list")
    public List<User> list(){
        return userService.list();
    }

    @GetMapping("/user/{id}")
    public User getById(@PathVariable Long id){
        return userService.getById(id);
    }

    @PostMapping("/user")
    public int save(User user){
        return userService.save(user);
    }

    @PutMapping("/user")
    public int update(User user){
        return userService.update(user);
    }

    @DeleteMapping("/user/{id}")
    public int remove(@PathVariable Long id){
        return userService.remove(id);
    }

}

5. 运行测试

使用IDE或命令行启动应用,访问http://localhost:8080/user/list,可以看到返回的数据。

6. 示例

以下是两个示例:

6.1 插入数据

向数据库插入一条数据,示例代码如下:

User user = new User();
user.setUsername("username");
user.setPassword("password");
user.setNickname("nickname");
userService.save(user);

6.2 分页查询

使用MyBatisPlus提供的类Page进行分页查询,示例代码如下:

Page<User> page = new Page<>(currentPage, pageSize);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", "username");
IPage<User> userIPage = userMapper.selectPage(page, wrapper);
List<User> userList = userIPage.getRecords();

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合MyBatisPlus详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring JDBC的使用详解

    下面我来介绍一下Spring JDBC的使用详解攻略。 前置条件 在使用Spring JDBC之前,需要保证以下条件得到满足: 首先需要添加Spring JDBC相关的依赖包,如spring-jdbc。 在应用程序的配置文件中,需要配置数据源。这里以MySQL数据源为例,配置好数据源的连接信息,并在配置文件中声明数据源的bean。 Spring JDBC的基…

    Java 2023年5月20日
    00
  • java读取XML文件的四种方法总结(必看篇)

    下面是针对“java读取XML文件的四种方法总结(必看篇)”这篇攻略的详细讲解。 提供四种方法 该攻略提供了使用Java读取XML文件的四种方法,分别是: 使用SAX方式解析XML文件 使用DOM方式解析XML文件 使用JDOM方式解析XML文件 使用XMLBeans方式解析XML文件 对于每种方法,攻略都提供了详细的介绍和示例代码,并且针对各种场景,推荐了…

    Java 2023年5月20日
    00
  • Java NegativeArraySizeException异常解决方案

    我将为您讲解解决“Java NegativeArraySizeException异常”的完整攻略。 什么是NegativeArraySizeException异常? 首先,我们需要了解一下NegativeArraySizeException异常。它是Java中的一种运行时异常,当我们使用负数作为数组大小时,就会抛出这个异常。 解决方案 要解决Negative…

    Java 2023年5月27日
    00
  • java开发SSM框架具有rest风格的SpringMVC

    Java开发SSM框架具有REST风格的SpringMVC 在 Java 开发中,SSM 框架是一种常用的 Web 开发框架,它由 Spring、SpringMVC 和 MyBatis 三个框架组成。其中,SpringMVC 是用于处理 Web 请求的框架,支持 REST 风格的 Web 服务。本文将详细讲解如何在 SSM 框架中使用 SpringMVC 实…

    Java 2023年5月18日
    00
  • JAVA实现LRU算法的参考示例

    以下是“JAVA实现LRU算法的参考示例”的完整攻略: 算法简介 LRU(Least Recently Used)算法是一种常用的缓存淘汰算法。它基于一种常见的思路:如果数据最近被访问过,那么将来访问的概率也更高。因此,LRU算法会优先淘汰最近最少使用的数据。LRU算法在缓存应用中有着广泛的应用,如数据库缓存、页面缓存等。 实现思路 在实现LRU算法时,我们…

    Java 2023年5月19日
    00
  • java.lang.NullPointerException出现的几种原因及解决方案

    Java.lang.NullPointerException出现的几种原因及解决方案 简介 Java.lang.NullPointerException是Java程序中常见的运行时异常,一般会出现在调用空对象的方法或属性时。出现该异常的原因较为多样,本文将介绍其中几种常见的原因,并提出对应的解决方案,以帮助程序开发者快速解决问题。 原因和解决方案 1. 调用…

    Java 2023年5月27日
    00
  • Java元空间的作用是什么?

    Java元空间是Java虚拟机运行时数据区的一部分,它主要是用来存储类的元数据信息和静态变量。相较于传统的Java堆,Java元空间不再是一个连续的内存区域,而是使用本地内存或者操作系统提供的内存。下面,我将从以下几个方面进行详细讲解Java元空间的作用及相关攻略: Java元空间为什么会被引入? 在Java虚拟机中,类的元数据和静态变量原本是存放在永久代中…

    Java 2023年5月11日
    00
  • Java String字符串内容实现添加双引号

    Java String 类是一个经常使用的类, 它可用于存储字符串。但有时候我们需要在字符串中添加双引号,本文将为您介绍Java中添加双引号的几种方法。 方法一:手动添加双引号 如果只需要添加一个双引号,可以直接手动在字符串两侧添加双引号,如下所示: String str = "\"Hello World!\""; S…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部