SpringBoot项目集成依赖Mybatis步骤

下面是SpringBoot项目集成依赖Mybatis步骤的完整攻略。

1. 引入Mybatis相关依赖

在pom.xml文件中添加以下依赖,其中包括Mybatis核心依赖 mybatis-spring-boot-starter ,Mysql驱动包mysql-connector-java以及Mybatis分页插件pagehelper。

<!-- mybatis core dependency -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>

<!-- MySQL connector dependency -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

<!-- Mybatis pagination dependency -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>

2. 配置数据库连接

在SpringBoot项目的application.properties(或application.yml)文件中添加以下配置信息,配置数据库连接。

#MySQL连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3. 创建Mybatis配置文件

在项目中的src/main/resources目录下创建mybatis-config.xml文件,用于配置Mybatis。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
</configuration>

4. 创建Mapper接口

在项目中创建Mapper接口,用于操作数据库表。

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user")
    List<User> getAllUsers();
}

5. 创建实体类

在项目中创建实体类,用于与数据库表进行数据交互。

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private int id;
    private String name;
    private String email;
    private String loginName;
    private String password;
}

6. 注册Mapper接口

在SpringBoot启动类中注册Mapper接口。

@SpringBootApplication
@MapperScan(basePackages = {"com.example.demo.mapper"})
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

这里以在demo项目中的Application.java中为例

7. 测试Mybatis

在Controller中使用UserMapper查询数据库,将数据返回给前端。

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

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

示例1 - 查询所有用户信息

我们看到前面的代码中已经有了查询所有用户信息的 SQL 语句,我们只需在UserController.java中调用该方法即可。我们可以通过在浏览器中访问 http://localhost:8080/users 查看数据是否正确返回。

其中,原数据为:

id name email login_name password
1 Alex Smith alex@example.com alex 123456
2 John Doe john@example.com john 123456
3 Jane Doe jane@example.com jane 123456
@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

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

返回结果:

[
  {
    "id": 1,
    "name": "Alex Smith",
    "email": "alex@example.com",
    "loginName": "alex",
    "password": "123456"
  },
  {
    "id": 2,
    "name": "John Doe",
    "email": "john@example.com",
    "loginName": "john",
    "password": "123456"
  },
  {
    "id": 3,
    "name": "Jane Doe",
    "email": "jane@example.com",
    "loginName": "jane",
    "password": "123456"
  }
]

示例2 - 添加用户信息

在Mapper接口中添加插入用户信息,Controller中调用方法,在浏览器中访问地址http://localhost:8080/user,参数为name,email,loginName,password,即可添加新用户。添加成功后,在浏览器中调用接口http://localhost:8080/users,查询所有用户信息。

// Mapper接口中的插入用户信息
@Insert("INSERT INTO user(name, email, login_name, password) values(#{name}, #{email}, #{loginName}, #{password})")
void addUser(User user);

// Controller中调用插入用户信息的方法
@PostMapping("/user")
public void addUser(String name, String email, String loginName, String password) {
    userMapper.addUser(new User(0, name, email, loginName, password));
}

在浏览器中访问 http://localhost:8080/user?name=Lucas&email=lucas@example.com&loginName=lucas&password=123456,
执行成功后再次访问http://localhost:8080/users即可看到新增的用户

[
    {
        "id": 1,
        "name": "Alex Smith",
        "email": "alex@example.com",
        "loginName": "alex",
        "password": "123456"
    },
    {
        "id": 2,
        "name": "John Doe",
        "email": "john@example.com",
        "loginName": "john",
        "password": "123456"
    },
    {
        "id": 3,
        "name": "Jane Doe",
        "email": "jane@example.com",
        "loginName": "jane",
        "password": "123456"
    },
    {
        "id": 4,
        "name": "Lucas",
        "email": "lucas@example.com",
        "loginName": "lucas",
        "password": "123456"
    }
]

至此,SpringBoot集成依赖Mybatis的步骤就介绍完了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目集成依赖Mybatis步骤 - Python技术站

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

相关文章

  • ColdFusionMX 编程指南 ColdFusionMX编程入门

    首先,需要明确“ColdFusionMX 编程指南 ColdFusionMX编程入门”是一本有关ColdFusionMX编程的入门书籍,其中包含了关于ColdFusion应用程序、变量、函数和流程控制等方面的基本知识和实例,适合初学者阅读学习。 一、阅读方式 1.阅读顺序:建议按照书本的章节顺序阅读,因为每个章节的内容都是有关联的。 2.实践方法:书中的实例…

    Java 2023年6月15日
    00
  • 详解Java中ArrayList类

    我们来详细讲解Java中ArrayList类的完整攻略。 1. ArrayList类简介 Java中的ArrayList类是一种可以动态增长和缩小大小的数组,是一种可重用的数据集合,ArrayList中的元素可以是任意类型的对象。 相对于传统的Java数组,ArrayList类可以自动扩容,同时可以动态增删元素,因此使用起来更加方便。 2. ArrayLis…

    Java 2023年5月26日
    00
  • Java初学者常问的问题(推荐)

    Java初学者常问的问题(推荐) 1. Java是什么?为什么要学习Java? Java是一种跨平台的面向对象编程语言,在计算机科学领域中应用广泛。学习Java可以让你掌握面向对象编程的基础概念,这对于日后的编程工作非常有帮助。Java也是许多大型企业和开源项目中常用的编程语言之一,掌握Java可以让你获得更多的就业机会。 2. Java有哪些基础概念? J…

    Java 2023年5月23日
    00
  • java使用common-fileupload实现文件上传

    下面是使用Commons FileUpload实现Java文件上传的完整攻略: 前提条件 在使用Commons FileUpload之前,需要确保你已经满足以下的条件: 已经安装了Java SDK(至少是1.6或以上版本) 已经使用Eclipse等集成开发环境,或者手动配置好了Java的CLASSPATH。 已经有一个能够接受文件上传请求的Java Web应…

    Java 2023年5月20日
    00
  • Java解析JSON数据时报错问题解决方案

    下面是“Java解析JSON数据时报错问题解决方案”的完整攻略,包含以下几个部分: 问题描述 在Java程序中使用第三方库解析JSON数据时,可能会出现各种报错,如JSON解析异常、数据类型不匹配等。 解决方案 针对这些问题,可以尝试以下解决方案: 1. 使用合适的JSON解析库 Java中有很多JSON解析库,如GSON、Jackson、Fastjson等…

    Java 2023年5月26日
    00
  • java生成图片验证码示例程序

    下面就为您介绍一下生成图片验证码的示例程序。 生成图片验证码示例程序 步骤1:导入验证码库 在Java中创建一个图片验证码需要用到非常多的API,用起来比较繁琐,因此我们可以使用一些第三方库来简化代码。这里我推荐使用Google的Guava库,该库提供了生成图片验证码的常用API,也可以方便的操作对象、字符串、集合等。 在Maven项目的pom.xml文件中…

    Java 2023年6月15日
    00
  • Java中Collection集合常用API之 Collection存储自定义类型对象的示例代码

    让我来详细讲解一下“Java中Collection集合常用API之 Collection存储自定义类型对象的示例代码”的完整攻略。 1. Collection集合常用API 在开始讲解如何存储自定义类型对象之前,我们先简要介绍一下Java中Collection集合常用的API。Collection接口是Java中的集合类中的基本接口,它提供了一系列操作集合的…

    Java 2023年5月26日
    00
  • 用java实现冒泡排序算法

    以下是用Java实现冒泡排序算法的完整攻略: 冒泡排序算法简介 冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。重复地进行直到没有任何一对数字需要比较,即所有的数字按照从小到大(或从大到小)排序完成。 冒泡排序算法步骤 首先,比较相邻的两个元素,如果前面的元素大于后面的元素,就交换这两个元素的位置; …

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