Spring Boot集成MyBatis访问数据库的方法

下面我将详细讲解如何在Spring Boot中集成MyBatis,访问数据库的完整步骤。

第一步:引入相关依赖

在pom.xml文件中添加以下依赖,其中包括Spring Boot的启动器、MyBatis的启动器、MySQL数据库连接驱动、MyBatis的Spring Boot集成包以及数据库连接池依赖。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.4</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.25</version>
</dependency>
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid-spring-boot-starter</artifactId>
  <version>1.2.6</version>
</dependency>

第二步:配置application.properties文件

在Spring Boot项目的src/main/resources目录下,创建application.properties文件,添加以下配置,其中包括MySQL数据库连接配置、MyBatis的mapper文件扫描路径配置、MyBatis的类型别名配置以及Druid连接池的配置。

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity

spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-return=true
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.max-wait=60000
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20

第三步:创建实体类和Mapper接口

在我们的Java代码中,需要首先定义要操作的实体类,并实现与数据库中字段一一对应的映射关系。

@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private Integer age;

// 省略 getter 和 setter 方法

}

接着,我们需要定义Mapper接口来访问数据库。此处采用注解方式实现,具体细节请参考官方文档。

@Mapper
public interface UserMapper {
@Select("select * from user")
List findAll();

@Insert("insert into user(name, age) values (#{name}, #{age})")
int save(User user);

@Update("update user set name=#{name}, age=#{age} where id=#{id}")
void update(User user);

@Delete("delete from user where id=#{id}")
void delete(Integer id);

}

第四步:创建Service层

在我们的业务逻辑中,需要调用Mapper接口来访问数据库,并在需要的时候对数据进行处理。为了使我们的代码更加清晰和易于维护,我们可以将Mapper的操作封装到Service层中。

@Service
public class UserService {
@Autowired
private UserMapper userMapper;

public List<User> findAll() {
    return userMapper.findAll();
}

public boolean save(User user) {
    return userMapper.save(user) > 0;
}

public boolean update(User user) {
    userMapper.update(user);
    return true;
}

public boolean delete(Integer id) {
    userMapper.delete(id);
    return true;
}

}

第五步:创建Controller层

在我们的控制器中,需要调用Service层来进行业务操作,并且根据用户的请求返回不同的响应。此处我们采用Restful风格的API,其中GET请求用于查询,POST请求用于新增,PUT请求用于修改,DELETE请求用于删除。

@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;

@GetMapping("")
public List<User> findAll() {
    return userService.findAll();
}

@PostMapping("")
public boolean save(@RequestBody User user) {
    return userService.save(user);
}

@PutMapping("/{id}")
public boolean update(@PathVariable Integer id, @RequestBody User user) {
    user.setId(id);
    return userService.update(user);
}

@DeleteMapping("/{id}")
public boolean delete(@PathVariable Integer id) {
    return userService.delete(id);
}

}

第六步:运行测试

在以上操作完成后,我们可以运行我们的应用程序来测试是否能正常访问我们的数据库。此处给出两个示例,分别测试查询所有用户和新增一个用户。

@Test
public void testFindAll() {
List userList = userService.findAll();
System.out.println(userList);
}

@Test
public void testSave() {
User user = new User();
user.setName("test");
user.setAge(18);
userService.save(user);
}

以上就是Spring Boot集成MyBatis访问数据库的方法的完整攻略。

阅读剩余 74%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot集成MyBatis访问数据库的方法 - Python技术站

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

相关文章

  • Java大文件上传详解及实例代码

    Java大文件上传详解及实例代码 介绍 Java大文件上传是web开发中比较基础的功能,常用于图片、视频等大文件的上传。基于HTTP协议的限制,一般的文件上传有大小限制,一般为1M,甚至更小。本篇文章将介绍如何使用Java实现大文件上传,并提供示例代码。 实现方案 为了实现大文件上传功能,我们可以采用分片上传的策略,将大文件切分成多个片段进行上传。具体的实现…

    Java 2023年5月20日
    00
  • Java日常练习题,每天进步一点点(3)

    让我来详细讲解“Java日常练习题,每天进步一点点(3)”的完整攻略。 1. 理解练习题的目的和基本要求 练习题的目的是帮助Java初学者提高编程能力,掌握常用的语法和数据结构。基本要求是: 按顺序完成每一个练习; 尽可能自己编写代码,不要复制粘贴; 根据题目要求输出正确的结果; 动手实践,理解代码背后的逻辑思维。 2. 学习Java的基础知识 在进行练习之…

    Java 2023年6月15日
    00
  • java 逐行读取txt文本如何解决中文乱码

    要想解决中文乱码问题,需要了解Java中文编码方式的特点。Java会默认使用UTF-8编码格式,而读取txt文本时可能会面对其他编码格式,因此需要进行适当的转码操作。 以下是逐行读取txt文本并解决中文乱码问题的步骤: 创建一个FileReader对象,用于读取txt文件,并指定编码格式为GBK。 FileReader fr = new FileReader…

    Java 2023年5月20日
    00
  • java实现网上购物车程序

    为了实现网上购物车程序,需要遵循以下步骤: 1. 设计数据库结构 网上购物车程序需要一个数据库来存储用户数据和商品数据,因此需要首先设计好数据库结构,并创建相应的数据表,保证程序的正常使用。 以下是一个简化版的数据库结构示例: user表 字段名 类型 默认值 描述 id int PRIMARY KEY 用户ID username varchar(50) N…

    Java 2023年5月19日
    00
  • Springboot+SpringSecurity+JWT实现用户登录和权限认证示例

    让我为您详细讲解一下“Springboot+SpringSecurity+JWT实现用户登录和权限认证示例”的攻略。 首先,需要安装以下工具: Java开发环境 Maven构建工具 然后,我们需要按照以下步骤进行实现: 1.添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.spring…

    Java 2023年5月20日
    00
  • Java基础MAC系统下IDEA连接MYSQL数据库JDBC过程

    下面是详细讲解Java基础MAC系统下IDEA连接MYSQL数据库JDBC过程的完整攻略: 1. 准备工作 在开始连接MySQL数据库之前,需要准备以下工作:- 安装JDK:在MAC系统下使用IntelliJ IDEA开发Java程序,需要先安装JDK;- 下载MySQL Connector/J:使用Java连接MySQL数据库需要使用MySQL提供的JDB…

    Java 2023年6月16日
    00
  • 详解Mysql如何实现数据同步到Elasticsearch

    如何实现MySQL数据同步到Elasticsearch?本文将为大家提供一种常见的实现方法,即使用Logstash工具来实现同步。具体步骤如下: 步骤一:安装Logstash 首先,我们需要安装Logstash,它是一个开源的数据处理工具,可以将各种形式的数据发送到Elasticsearch。可以通过以下方式安装: wget https://artifact…

    Java 2023年6月16日
    00
  • Spring Boot webflux使用方法解析

    下面是关于“Spring Boot webflux使用方法解析”的完整攻略,包含两个示例说明。 Spring Boot webflux使用方法解析 Spring Boot webflux是Spring Boot框架的一部分,它提供了一种基于响应式编程的方式来构建Web应用程序。本文将详细介绍如何使用Spring Boot webflux来构建Web应用程序。…

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