SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库

下面详细讲解如何在Spring Boot项目中引入MyBatis并连接MySQL数据库。

一、前置条件

  • Java环境(Java 8及以上版本)
  • Maven环境(Maven 3及以上版本)
  • MySQL数据库

二、引入依赖

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

<dependencies>
    <!-- Spring Boot依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- MyBatis依赖 -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- MySQL驱动依赖 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
</dependencies>

其中,spring-boot-starter-web是Spring Boot项目的基础依赖,mybatis-spring-boot-starter是MyBatis的Spring Boot支持依赖,mysql-connector-java是MySQL的JDBC驱动。

三、配置数据源

application.properties文件中配置MySQL数据库连接的相关参数:

# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

其中,spring.datasource.url是数据库连接地址,spring.datasource.usernamespring.datasource.password分别是连接数据库的用户名和密码,spring.datasource.driver-class-name是MySQL的JDBC驱动类。

四、创建实体类和Mapper

在项目的src/main/java目录下创建实体类User.java和Mapper接口UserMapper.java

// User.java
public class User {
    private Integer id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}

// UserMapper.java
@Mapper
public interface UserMapper {
    List<User> getAllUsers();
    void insertUser(User user);
}

其中,User.java是用户实体类,UserMapper.java是用户Mapper接口。注意,UserMapper.java要使用@Mapper注解。

五、编写Mapper XML文件

在项目的src/main/resources目录下创建UserMapper.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <select id="getAllUsers" resultType="com.example.entity.User">
        select id, name, age from user
    </select>

    <insert id="insertUser">
        insert into user(id, name, age) values(#{id}, #{name}, #{age})
    </insert>
</mapper>

其中,<select>标签用于查询所有用户,<insert>标签用于插入一个新的用户。

六、编写Controller

在项目的src/main/java目录下创建UserController.java文件:

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;

    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }

    @PostMapping("/users")
    public String insertUser(@RequestBody User user) {
        userMapper.insertUser(user);
        return "success";
    }
}

其中,@RestController注解表示该类是一个REST风格的控制器,@Autowired注解用于注入UserMapper实例,@GetMapping注解用于处理HTTP GET请求,@PostMapping注解用于处理HTTP POST请求。

七、示例1 查询所有用户

启动项目后,在浏览器中访问http://localhost:8080/users即可查询所有用户。

八、示例2 添加新用户

使用Postman等工具向http://localhost:8080/users发送POST请求,请求体为JSON格式的用户数据,即可完成添加新用户的操作。

至此,完整的在Spring Boot项目中引入MyBatis并连接MySQL数据库的攻略就讲解完毕了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库 - Python技术站

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

相关文章

  • Java基础之String类使用与字符串比较

    Java基础之String类使用与字符串比较 String类 在Java中,String类是一个非常常用的类,它代表不可变的Unicode字符序列。任何字符串常量都被看作是String类的实例。例如: String str1 = "Hello"; String str2 = "World"; String str3 =…

    Java 2023年5月26日
    00
  • Java 生成随机字符的示例代码

    生成随机字符可以使用Java中的Random类和StringBuilder类。Random类是Java中的随机数生成器,StringBuilder类用于构建字符串。 下面是生成随机字符的示例代码: import java.util.Random; public class RandomStringGenerator { private static fina…

    Java 2023年5月27日
    00
  • 运行时数据区域包括哪些部分?

    以下是关于 Java 运行时数据区域的详细讲解: 运行时数据区域包括哪些部分? Java 的运行时数据区域是指 Java虚拟机(JVM)在运行 Java程序所使用的内存区域。Java 的运行时区域包括以下几个部分: 程序计数器(Program Counter Register):用于记录当前线程执行的字节令地址。 Java 虚拟机栈Java Virtual …

    Java 2023年5月12日
    00
  • swift4.0实现视频播放、屏幕旋转、倍速播放、手势调节及锁屏面板等功能实例

    Swift 4.0实现视频播放、屏幕旋转、倍速播放、手势调节及锁屏面板等功能实例 在iOS应用中,视频播放是一个非常常见的功能。本文将详细讲解如何使用Swift 4.0实现视频播放、屏幕旋转、倍速播放、手势调节及锁屏面板等功能。 第一步:导入AVKit和AVFoundation框架 在项目中导入AVKit和AVFoundation框架: import AVK…

    Java 2023年5月23日
    00
  • java连接mysql数据库学习示例

    Java连接MySQL数据库是开发中常用的操作之一。下面我将给出一份完整的攻略,介绍Java连接MySQL数据库的步骤和示例代码。 1. 准备工作 在开始连接MySQL之前,我们需要先做些准备工作。 1.1 安装MySQL 如果你已经安装了MySQL,请跳过这一步。如果没有,可以到 MySQL官网 上下载MySQL的安装包,安装过程中可以根据自己的需要选择安…

    Java 2023年5月19日
    00
  • 关于IDEA git 只有Commit没有Push的问题

    下面是关于IDEA git只有Commit没有Push的问题的完整攻略: 问题描述 在使用IntelliJ IDEA进行git提交时,有时候只有Commit并没有进行Push操作,导致提交的代码并没有同步到仓库中,其他人无法看到最新的代码。 原因分析 首先,需要明确Commit和Push的区别: Commit:将代码提交到本地git仓库中,并生成一个comm…

    Java 2023年6月15日
    00
  • 详解java倒计时三种简单实现方式

    详解java倒计时三种简单实现方式 方式一:使用Thread.sleep()实现倒计时 使用Thread.sleep()方法可以实现很简单的倒计时效果,该方法会使线程暂停指定时间再继续执行。具体实现步骤如下: 使用Scanner类获取用户输入的倒计时时间,以秒为单位。 java Scanner scanner = new Scanner(System.in)…

    Java 2023年5月18日
    00
  • Java反射学习 getClass()函数应用

    Java反射是指在程序运行时动态地查找、加载、使用类和方法的能力。在Java反射中,getClass()函数是非常重要的一个函数。本文将为大家详细讲解Java反射学习中getClass()函数的应用。 什么是getClass()函数? 在Java语言中,所有的对象在运行时都拥有一个getClass()函数。这个函数可以用来获取当前对象的类型信息,返回值是Cl…

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