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访问数据库的方法的完整攻略。

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

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

相关文章

  • JavaSpringBoot报错“WebApplicationException”的原因和处理方法

    当使用Java的Spring Boot框架时,可能会遇到“WebApplicationException”错误。这个错误通常是由以下原因之一引起的: 请求处理错误:如果请求处理过程中出现错误,则可能会出现此错误。在这种情况下,需要检查请求处理代码并进行必要的更改。 响应处理错误:如果响应处理过程中出现错误,则可能会出现此错误。在这种情况下,需要检查响应处理代…

    Java 2023年5月5日
    00
  • 浅谈java对象之间相互转化的多种方式

    浅谈Java对象之间相互转化的多种方式 在Java编程中,对象之间的相互转换是非常常见的操作。本文将介绍一些Java对象之间相互转换的多种方式。 1.使用构造函数进行对象转换 Java的构造函数是一种用于创建和初始化对象的特殊方法。构造函数可以使用另一个对象来初始化一个新的对象。下面是一个使用构造函数进行对象转换的示例代码: public class Per…

    Java 2023年5月26日
    00
  • 实现分布式WebSocket集群的方法

    实现分布式WebSocket集群的方法 什么是WebSocket集群 WebSocket集群指多个WebSocket服务器组成一个群集,实现WebSocket链接负载均衡,并能够实现WebSocket的状态共享和数据同步。通过搭建WebSocket集群,可以提高WebSocket服务器的并发处理能力和可靠性。 实现WebSocket集群的方法 实现WebSo…

    Java 2023年5月19日
    00
  • 在 Linux 上安装Apache+ApacheJServ+JSP

    安装Apache和Apache JServ: 首先在终端中运行以下命令更新软件包列表: sudo apt-get update 接着,运行以下命令安装Apache和Apache JServ: sudo apt-get install apache apache-jserv 安装完成后,Apache服务会自动启动。可以在浏览器中输入localhost,来查看A…

    Java 2023年6月15日
    00
  • 完美实现bootstrap分页查询

    实现 Bootstrap 分页查询的步骤如下: 1. 引入 Bootstrap 在 HTML 文件中引入 Bootstrap 的 CSS 和 JavaScript 文件: <!– 引入 Bootstrap CSS 文件 –> <link rel="stylesheet" href="https://cdn.…

    Java 2023年6月15日
    00
  • Spring Boot 整合持久层之JdbcTemplate

    下面是详细讲解”Spring Boot 整合持久层之 JdbcTemplate” 的完整攻略: JdbcTemplate 简介 JdbcTemplate 是 Spring Framework 提供的一种针对 JDBC 操作的一个简化封装框架,帮助开发者摆脱繁琐的 JDBC 操作代码,提供了一组方法来方便地操作数据库。 JdbcTemplate内部封装了Jdb…

    Java 2023年5月19日
    00
  • java编写简单的ATM存取系统

    下面是Java编写简单的ATM存取系统的完整攻略。 1. 确定需求分析 在开始编写ATM系统之前,我们需要对系统的需求进行分析和确认。该系统的主要功能包括: 可以登录和注册账户 可以查询账户余额 可以取款和存款 可以修改账户密码 可以退出系统 2. 设计系统架构 确定了需求之后,我们需要设计ATM系统的整体架构。整个系统需要有以下几个模块: 用户登录和注册模…

    Java 2023年5月19日
    00
  • 什么是Java性能调优?

    Java性能调优是指通过调整Java程序运行时的各种参数和调用Java API的方式,来使程序的性能达到最优状态。优化程序可以提高Java程序的吞吐量、响应时间和可扩展性。在进行Java性能调优时,需要了解Java虚拟机(JVM)的工作原理、程序的瓶颈所在以及所使用的工具等。 下面是Java性能调优的完整使用攻略: 1. 确定性能指标 在进行性能调优之前,首…

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