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(包括springboot)读取resources下文件方式实现

    下面是详细讲解“java(包括springboot)读取resources下文件方式实现”的完整攻略。 1. 背景 在Java中,经常需要读取resources下的文件。resources文件夹通常位于项目的classpath下,可以存放各种类型的文件,如文本文件、配置文件、图片等。这里将对读取resource文件夹下文件的几种常用方法进行讲解。 2. 使用…

    Java 2023年5月19日
    00
  • 10k+点赞的 SpringBoot 后台管理系统教程详解

    首先我们需要明确一下什么是SpringBoot后台管理系统。SpringBoot是一个Java开发框架,它能够帮助开发者快速搭建一个Java Web应用程序,尤其适用于后台管理系统的开发。而SpringBoot后台管理系统,就是指采用SpringBoot框架开发的一个管理后台,用于管理数据和业务逻辑。 接下来,我将详细讲解如何制作一个10k+点赞的Sprin…

    Java 2023年5月15日
    00
  • JAVA多线程之中断机制及处理中断的方法

    JAVA多线程之中断机制及处理中断的方法 在多线程编程中,线程可能会因为各种原因(比如等待不必要的资源、等待IO操作或者Long Running操作)而进入阻塞状态,我们常使用中断机制来解决这种情况。 中断机制 简单来说,中断机制就是用来打断阻塞状态的线程。当一个线程被中断时,它会收到一个 InterruptedException 异常,执行中断处理方法;如…

    Java 2023年5月18日
    00
  • Jackson常用方法以及jacksonUtil工具类详解

    Jackson常用方法以及jacksonUtil工具类详解 什么是Jackson Jackson是一个开源的Java库,用于处理JSON格式数据。Jackson能够将Java对象转换成JSON格式的字符串,并且还能将JSON格式的字符串转换成Java对象。在Java Web开发中,使用Jackson能够简化代码并且提高效率。 常用方法 将Java 对象转换为…

    Java 2023年5月26日
    00
  • 详解SpringMVC中设置静态资源不被拦截的问题

    详解SpringMVC中设置静态资源不被拦截的问题 在SpringMVC中,我们经常需要使用静态资源,如图片、CSS、JavaScript等。但是,如果不进行特殊处理,这些静态资源也会被SpringMVC的拦截器拦截,导致无法正常访问。本文将详细讲解如何设置静态资源不被拦截的问题,并提供两个示例来说明如何实现这一过程。 方法一:使用标签 在SpringMVC…

    Java 2023年5月17日
    00
  • MyBatis实践之DAO与Mapper

    MyBatis实践之DAO与Mapper攻略 MyBatis是一个流行的ORM框架。它使用XML文件或注释映射Java对象到数据库,并提供了一组强大的特性来处理数据库操作。本文将详细讲解MyBatis中的DAO和Mapper,并提供两个示例以演示它们的使用。 DAO DAO(Data Access Object)是一种数据访问设计模式,它将数据访问从业务逻辑…

    Java 2023年5月20日
    00
  • SpringBoot设置动态定时任务的方法详解

    Spring Boot设置动态定时任务的方法详解 在Spring Boot中,我们可以使用Spring Task来实现定时任务。本文将详细讲解如何使用Spring Task设置动态定时任务,并提供两个示例。 1. 动态定时任务的概念 动态定时任务是指可以在运行时动态添加、修改和删除的定时任务。相比于静态定时任务,动态定时任务更加灵活和可扩展。 2. 动态定时…

    Java 2023年5月15日
    00
  • 微信小程序 开发中遇到问题总结

    微信小程序开发中遇到问题总结 问题1:如何进行页面跳转? 在小程序的开发过程中,我们经常需要从一个页面跳转到另一个页面。这时候,我们可以使用wx.navigateTo和wx.redirectTo这两个API来实现。wx.navigateTo会保留当前页面,而wx.redirectTo则会关闭当前页面并跳转到目标页面。 示例代码如下: // pages/ind…

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