49、Spring Boot 详细讲义(六)(SpringBoot2.x整合Mybatis实现CURD操作和分页查询详细项目文档)
项目文档:银行借据信息CURD操作和分页查询
一、项目概述
1. 项目简介
本项目旨在使用Spring Boot框架整合MyBatis连接Mysql数据库实现借据信息的增加、删除、修改和查询功能,同时支持分页查询,并提供对应的Restful风格的接口。
2.环境准备
2.1.工具和软件准备
- JDK(建议版本:JDK 11)
- IDE(建议IntelliJ IDEA)
- Maven(用于构建和管理项目)
- 数据库(Mysql)
- Apifox (接口测试)
2.2. 技术栈
- Spring Boot:用于快速搭建应用程序框架。
- MyBatis:用于数据库操作和持久化。
- Spring Web:用于构建接口
3.概念介绍
Mybatis框架:
MyBatis 是一个基于 Java 的持久层框架,它主要解决了传统 JDBC 编码中存在的大量样板代码和繁琐的 SQL 语句编写问题。MyBatis 提供了一个简单易用的 API,通过配置 XML 文件或者注解来实现对象与 SQL 语句的映射,从而实现了数据库操作的简化和灵活性。其主要特点包括:
- 简化 SQL 编写:MyBatis 使用 XML 文件或者注解来描述 SQL 映射关系,将 SQL 语句和 Java 对象进行映射,避免了手动编写大量的 SQL 语句,提高了开发效率。
- 灵活性:MyBatis 不强制开发者使用特定的 ORM 映射规范,开发者可以自由地编写 SQL 语句,从而更灵活地处理复杂的数据库操作。
- 动态 SQL:MyBatis 支持动态 SQL,可以根据条件动态生成 SQL 语句,使得 SQL 的编写更加灵活和可控。
- 缓存支持:MyBatis 提供了一级缓存和二级缓存机制,能够有效减少数据库访问次数,提升系统性能。
- 与 Spring 等框架集成:MyBatis 与 Spring 等主流 Java 框架集成良好,可以方便地与其他框架结合使用,如 Spring Boot、Spring MVC 等。
4. 功能模块介绍
3.1. 增加借据信息
添加新的借据信息到系统中,包括借据号、借款人信息、借款金额等。
3.2. 删除借据信息
根据借据号删除特定的借据信息。
3.3. 修改借据信息
修改已有的借据信息,包括借款金额、借款人信息等。
3.4. 查询借据信息
根据借据号查询特定的借据信息,查询所有借据信息
3.5. 分页查询
支持对借据信息进行分页查询
二. 数据库设计
详细的借据信息系统包含客户信息、借据信息、还款信息和利率信息等,这里以借据信息表为例。
借据信息表(loan)
- Loan_ID (主键)
- Customer_ID (外键,指向 Customer 表)
- Loan_Amount 贷款金 额
- Loan_Type 贷款类型
- Loan_Term 贷款期限
- Loan_Interest_Rate 贷款利率
- Loan_Status 状态(如:已还清、未还清等)
参考代码如下:
-- 创建 Loan 表
CREATE TABLE loan (loan_id INT AUTO_INCREMENT PRIMARY KEY,customer_id INT,loan_amount DECIMAL(10,2),loan_type VARCHAR(50),loan_term INT,loan_interest_rate DECIMAL(5,2),loan_status VARCHAR(20)
);-- 添加测试数据
INSERT INTO loan (customer_id, loan_amount, loan_type, loan_term, loan_interest_rate, loan_status)
VALUES
(1, 5000.00, '个人贷款', 12, 5.5, '未还清'),
(2, 10000.00, '抵押贷款', 24, 4.2, '未还清'),
(3, 8000.00, '车贷', 36, 4.5, '已还清');
三. 创建项目
1.创建SpringBoot项目
https://start.aliyun.com/
使用脚手架创建springboot项目,并将创建的代码在idea中打开
添加配置文件
通过云原生脚手架创建出来的项目默认没有resources目录,可以手动创建一下
在main文件夹上右键选择->新建->目录
取名为resources
在resouces目录下创建application.yml
2.添加依赖
在pom.xml文件中添加Mybatis,Spring web ,分页控件等相关依赖
<!--lombok-->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version>
</dependency><!--mysql-->
<dependency>