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操作示例程序。这只是这两个框架的简单入门,你可以根据自己的需求进行更多更为深入的学习。

阅读剩余 72%

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

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

相关文章

  • spring controller层引用service报空指针异常nullpointExceptio问题

    当在Spring的controller层引用service时出现空指针异常,一般是由于Spring没有正确地注入service导致的。下面是解决该问题的攻略。 1.检查配置文件 在web.xml中检查DispatcherServlet是否正确配置,并且检查applicationContext.xml或其他相关配置文件中是否正确配置了bean,bean是否注入…

    Java 2023年5月25日
    00
  • Java锁的作用是什么?

    Java锁的作用是什么? Java锁是Java中用于实现多线程同步的一种机制,它能够解决并发访问共享资源时可能出现的数据竞争和并发安全性问题,保证多个线程之间的共享数据的正确性。 Java锁的分类 Java锁主要分为以下两种: 互斥锁(exclusive lock),是一种基于排他性访问机制的锁,同一时间内只允许一个线程访问共享资源,其他线程必须等待该线程完…

    Java 2023年5月11日
    00
  • springboot+spring data jpa实现新增及批量新增方式

    下面是关于springboot+spring data jpa实现新增及批量新增方式的完整攻略,希望能对您有所帮助。 1. 准备工作 在开始之前,我们需要确保使用的开发环境已经具备以下条件: JDK 8 或以上 Maven 3.2 或以上 IDE:Eclipse 或 IntelliJ IDEA 2. 创建Spring Boot 项目 首先,我们需要创建一个新…

    Java 2023年5月20日
    00
  • 基于自定义校验注解(controller、method、(groups)分组的使用)

    基于自定义校验注解的使用可以提高代码的可读性和可维护性,可以定义自己的业务规则并在控制器中进行验证,从而更好地保障数据的安全性。下面给出一个完整的攻略,包括自定义注解的编写、控制器中的使用、注解的分组以及两个示例。 编写自定义注解 自定义注解应该使用@Target和@Retention注解对其进行标记,使其可以被正确地应用到需要校验的方法上。下面是一个简单的…

    Java 2023年5月20日
    00
  • Java Excel数据导入数据库的方法

    下面是详细的“Java Excel数据导入数据库的方法”的攻略: 准备工作 在进行Java Excel数据导入数据库的操作之前,需要先安装以下软件: Java SE Development Kit (JDK):Java开发套件,提供Java编程所需的基本工具。 Apache POI:Java操作Office文件的API,提供对Excel、Word和Power…

    Java 2023年5月20日
    00
  • Java实现数据库连接池简易教程

    Java实现数据库连接池简易教程 在Java web开发中,经常会使用到数据库连接池技术,它可以缓存一定数量的数据库连接,通过再次请求时,优先从连接池中获取已有的连接,而不是重新创建连接,从而提高程序的性能和响应速度。在这里,我们将详细讲解如何使用Java语言来实现一个简单的数据库连接池。 步骤 第一步:创建连接池 首先,我们需要创建连接池,代码如下: im…

    Java 2023年5月19日
    00
  • Mybatis-Plus 映射匹配兼容性的问题解决

    下面是 “Mybatis-Plus 映射匹配兼容性的问题解决”的完整攻略: 1. 问题背景 在使用 Mybatis-Plus 进行二次封装的时候,常常会出现如下问题: 当我们的数据库表中含有下划线时,Mybatis-Plus 默认的驼峰命名映射策略就会失效,例如:user_info 表会自动被映射成 UserInfo 而非 UserInfo。这时,就需要我们…

    Java 2023年5月20日
    00
  • JSP实现从不同服务器上下载文件的方法

    下面我将详细讲解“JSP实现从不同服务器上下载文件的方法”的完整攻略。 一、实现思路 要实现从不同服务器上下载文件的功能,我们需要对文件的源服务器进行读取和对下载请求的目标服务器进行写入。由于JSP的服务器端脚本特性,我们可以通过JSP页面来实现这一功能。 JSP页面可以在后台通过Java代码读取文件,并将文件以二进制流的形式输出到前端,从而达到下载文件的目…

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