IDEA项目使用SpringBoot+MyBatis-Plus的方法

这里是详细的讲解“IDEA项目使用SpringBoot+MyBatis-Plus的方法”的完整攻略,包含了两条示例。

准备条件

为了完成本攻略,你需要事先准备以下条件:

  • JDK 8及以上版本
  • IntelliJ IDEA 2020.3或以上版本
  • Maven 3.0及以上版本
  • SpringBoot 2.4.x版本
  • MyBatis-Plus 3.x版本
  • 数据库(本示例使用MySQL)

1. 创建项目

打开IntelliJ IDEA,选择“New -> Project”菜单项,打开“New Project”对话框。在对话框中选择“Spring Initializr”,然后按照提示进行配置,创建一个Spring Boot项目。

Creating Spring Boot project in IntelliJ IDEA

在项目创建过程中,选择需要使用的依赖和Spring Boot版本,这里需要勾选MyBatis-Plus和MySQL连接器依赖(如下图所示)。

Choosing dependencies in IntelliJ IDEA

等待项目创建完成。现在,你已经有了一个基本的Spring Boot项目,可以开始使用MyBatis-Plus了。

2. 配置数据库连接

在“application.properties”文件中,添加以下配置:

spring.datasource.url=jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

其中,”spring.datasource.url”为数据库的连接地址,”spring.datasource.username”和”spring.datasource.password”为连接到数据库的用户名和密码。

3. 定义实体类和Mapper接口

在项目的src/main/java目录下,创建com.example.demo.entitycom.example.demo.mapper包,分别用于存放实体类和Mapper接口代码。

接着,在com.example.demo.entity包中定义一个实体类User,如下所示:

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
}

com.example.demo.mapper包中定义一个Mapper接口UserMapper,该接口需要继承MyBatis-Plus的BaseMapper接口,如下所示:

public interface UserMapper extends BaseMapper<User> {
}

4. 配置MyBatis-Plus

在“application.properties”文件中,添加以下配置:

# MyBatis-Plus配置
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.demo.entity

其中,”mybatis-plus.mapper-locations”为Mapper文件的存放路径,”mybatis-plus.type-aliases-package”为实体类的包名。

5. 编写Mapper XML文件

在项目的src/main/resources目录下创建mapper文件夹,并在mapper文件夹中创建UserMapper.xml文件,定义查询、插入、更新和删除数据的Mapper,如下所示:

<mapper namespace="com.example.demo.mapper.UserMapper">

    <select id="selectById" resultType="com.example.demo.entity.User">
        select id,name,age from t_user where id = #{id}
    </select>

    <insert id="insert" parameterType="com.example.demo.entity.User">
        insert into t_user (id, name, age) values (#{id}, #{name}, #{age})
    </insert>

    <update id="updateById" parameterType="com.example.demo.entity.User">
        update t_user set name = #{name}, age = #{age} where id = #{id}
    </update>

    <delete id="deleteById" parameterType="java.lang.Long">
        delete from t_user where id = #{id}
    </delete>
</mapper>

6. 编写Controller代码

在项目的src/main/java目录下,创建com.example.demo.controller包,并在该包下创建UserController控制器类。

UserController类中,通过UserMapper对象执行数据库操作,如下所示:

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/{id}")
    public User getUserById(@PathVariable("id") Long id) {
        return userMapper.selectById(id);
    }

    @PostMapping
    public void addUser(@RequestBody User user) {
        userMapper.insert(user);
    }

    @PutMapping("/{id}")
    public void updateUser(@PathVariable("id") long id, @RequestBody User user) {
        user.setId(id);
        userMapper.updateById(user);
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable("id") long id) {
        userMapper.deleteById(id);
    }
}

示例1:查询用户信息

启动应用,使用Postman或其他工具发送Http GET请求:http://localhost:8080/user/1

应该会返回一个JSON格式的响应,包含id、age、name属性的用户对象,如下所示:

{
    "id": 1,
    "name": "Alice",
    "age": 18
}

示例2:插入用户信息

同样是使用Postman等工具,这次发送一个Http POST请求:http://localhost:8080/user

请求体为一个JSON格式的用户对象,如下所示:

{
    "id": 2,
    "name": "Bob",
    "age": 20
}

执行完成后,应该会在数据库表t_user中看到包含了这条记录。

结论

至此,我们已经完成了一个基于Spring Boot和MyBatis-Plus的的CURD操作示例程序。这只是这两个框架的简单入门,你可以根据自己的需求进行更多更为深入的学习。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA项目使用SpringBoot+MyBatis-Plus的方法 - Python技术站

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

相关文章

  • 基于java Servlet编码/异常处理(详解)

    基于Java Servlet编码/异常处理(详解) 什么是Servlet? Servlet是Java语言编写的、在服务器端运行的小程序。它们是动态Web页面的重要组成部分。Servlet在Java中的定位和CGI在C++中的定位相似,只不过Servlet是基于Java的安全性和跨平台性等特点开发出的一种CGI形式。 Servlet程序可以生成一个动态网页,也…

    Java 2023年5月31日
    00
  • JAVA对象中使用 static 和 String 基础探究

    下面是关于“JAVA对象中使用 static 和 String 基础探究”的详细攻略。 1. static 关键字 在 Java 中,static 关键字主要用来修饰类而不是对象,一旦修饰了某个类中的成员变量或者方法,那么这个成员变量或者方法就变成了类级别的,这就意味着,无论创建了多少个对象,这个成员变量或者方法都只会被创建一次,所有的对象都可以直接访问这个…

    Java 2023年5月26日
    00
  • SpringMvc后台接收json数据中文乱码问题详解

    下面我将详细讲解关于 SpringMvc 后台接收 JSON 数据中文乱码问题的解决方案。 问题描述 当我们使用 SpringMvc 后台接收 JSON 数据时,常常会出现中文乱码的问题。具体表现为前端使用 axios 或 jQuery.ajax 等发送中文数据时,后台接收到的数据变成了一串乱码,而且无法正常处理和显示。 原因分析 造成这个问题的原因是因为客…

    Java 2023年5月26日
    00
  • 用Java连接sqlserver数据库时候几个jar包的区别分析

    用Java编程语言连接SQL Server数据库时,需要使用特定的JDBC(Java数据库连接)驱动程序。在使用JDBC驱动程序时,需要引入相应的jar包。本文将为您介绍在连接SQL Server数据库时使用的几个jar包,并对它们的区别进行分析。 1. jtds.jar jtds.jar是连接SQL Server数据库时最常使用的jar包之一。它是一个纯J…

    Java 2023年5月20日
    00
  • springboot2.x实现oauth2授权码登陆的方法

    下面是详细讲解“springboot2.x实现oauth2授权码登陆的方法”的完整攻略: 什么是OAuth2? OAuth2是目前最流行的用户认证和授权协议之一。它的目的是让用户可以授权第三方应用访问他们的资源,而不必将自己的用户名和密码直接提供给第三方应用。OAuth2协议有多种授权方式,其中最常用的是授权码模式。 OAuth2授权码模式流程 OAuth2…

    Java 2023年5月20日
    00
  • js获取input标签的输入值实现代码

    JS获取input标签的输入值实现代码 在前端开发中,我们常常需要获取页面上输入框(input)的值,并使用该值来进行一些操作。本文将介绍如何在JavaScript中获取input标签的输入值,并提供两个示例说明。 1. 标准的input输入框 要获取标准的input输入框(即type为text、password、email等类型的输入框)的值,我们可以使用…

    Java 2023年6月15日
    00
  • JAVA 18位身份证号码校验码的算法

    我将为你详细讲解“JAVA 18位身份证号码校验码的算法”的完整攻略。 什么是身份证号码校验码 身份证号码由17位数字和1位校验码组成(18位)。其中,前17位为身份证号码,最后一位为校验码。校验码一般都是用来检验身份证号码的正确性,通过校验码可以判断一个身份证号码是否是正确的身份证号码。 JAVA 18位身份证号码校验码算法 校验码的计算规则如下: 将前1…

    Java 2023年6月15日
    00
  • Java中后台线程实例解析

    Java中后台线程实例解析 在Java中,线程可以分为前台线程和后台线程。前台线程是指主线程,后台线程是指与主线程并行执行但不会阻止主线程正常结束的线程。本文将详细讲解Java中后台线程的使用方法和示例说明。 后台线程的创建与启动 后台线程可以通过继承Thread类并覆盖run()方法来创建和启动。具体过程如下: public class Backgroun…

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