前言
【描述】
- “SpringBoot"整合"Mybatis"操作"Mysql”,快速上手;
【环境】
- 系统"Windows",软件"IntelliJ IDEA 2021.1.3(Ultimate Edition)";
- “Java版本"1.8.0_202”,“Spring"版本"2.5.9”;
实操
【第一步:创建项目】
A
【说明】
- 创建一个"Spring"项目;
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/0bd9a3eb4464e5202a530585fbd8b279.jpeg)
- (2)
![](https://i-blog.csdnimg.cn/blog_migrate/9ff60e07632c5ff697afccaa4ec17c35.jpeg)
- (3)
![](https://i-blog.csdnimg.cn/blog_migrate/14b242b2a614dd5f256a417e77e50f7b.jpeg)
B
【说明】
- 添加"Mybatis"相关信息;
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/c87087283b490ad1439ecdba1aa466e7.jpeg)
- (2)
![](https://i-blog.csdnimg.cn/blog_migrate/b412675c9a10213bca07925dc416ff06.jpeg)
- (3)
![](https://i-blog.csdnimg.cn/blog_migrate/84657ed3922ddbfe9fae2fef89cf43c5.jpeg)
【代码】
<!-- MySQL依赖项,仅运行时需要 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Mybatis框架 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
【第二步:导入数据】
A
【说明】
- 数据库信息一览;
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/16103ecd10a2125e0533700ba772645d.jpeg)
- (2)
![](https://i-blog.csdnimg.cn/blog_migrate/d74900903557bf81dfb43b8fdc597f1d.jpeg)
- (3)
![](https://i-blog.csdnimg.cn/blog_migrate/105d9a15fbdb94a5671378c18f3e842a.jpeg)
B
【说明】
- 数据库导入语句;
【代码】
-- --------------------------------------------------------
-- 主机: 127.0.0.1
-- 服务器版本: 10.11.2-MariaDB - mariadb.org binary distribution
-- 服务器操作系统: Win64
-- HeidiSQL 版本: 11.3.0.6295
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-- 导出 mybatis-demo 的数据库结构
DROP DATABASE IF EXISTS `mybatis-demo`;
CREATE DATABASE IF NOT EXISTS `mybatis-demo` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */;
USE `mybatis-demo`;
-- 导出 表 mybatis-demo.a 结构
DROP TABLE IF EXISTS `a`;
CREATE TABLE IF NOT EXISTS `a` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) DEFAULT NULL COMMENT '用户名',
`password` varchar(50) DEFAULT NULL COMMENT '密码',
`nick` varchar(50) DEFAULT NULL COMMENT '昵称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='"Mybatis"测试表';
-- 正在导出表 mybatis-demo.a 的数据:~1 rows (大约)
DELETE FROM `a`;
/*!40000 ALTER TABLE `a` DISABLE KEYS */;
INSERT INTO `a` (`id`, `username`, `password`, `nick`) VALUES
(1, 'admin', '1234567890', '管理员');
/*!40000 ALTER TABLE `a` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
【第三步:连接数据】
A
【说明】
- 配置数据库的信息;
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/f4136b06b86836085dc7d5884827f4c5.jpeg)
【代码】
- (1)
# 数据库的URL
spring.datasource.url=jdbc:mysql://localhost:3306/<数据库>?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
# 数据库的账号
spring.datasource.username=<账号>
# 数据库的密码
spring.datasource.password=<密码>
B
【说明】
- 测试数据库的连接;
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/4a5fe770e5042dc2c26dc7279c280e73.jpeg)
【代码】
- (1)
// Spring Boot自动读取"application.properties"的配置,并创建了数据源对象
@Autowired
DataSource dataSource;
// 连接数据库,用于检查"application.properties"中连接数据库的参数值是的正确
@Test
void testConnection() throws Exception {
// 获取与"MySQL"的连接,此方法的调用会实质的连接数据库
dataSource.getConnection();
System.out.println("数据库连接成功!!!");
}
【第四步:编写映射】
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/ff1d573dfec3e1a789fe995441b55074.jpeg)
- (2)
![](https://i-blog.csdnimg.cn/blog_migrate/6a752e1bc1b671e5b90d1123672100c6.jpeg)
- (3)
![](https://i-blog.csdnimg.cn/blog_migrate/9f45a50f4a4f25bf1769501343425fd4.jpeg)
- (4)
![](https://i-blog.csdnimg.cn/blog_migrate/29399368998dcfd8a10837c7a4c435cf.jpeg)
【代码】
- (1)
package com.example.mybatisdemo.config;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.example.mybatisdemo.mapper")
public class MybatisConfiguration {
}
- (2)
<?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">
<!-- "namespace":即空间命名名称,一般绑定对应接口的全限定路径 -->
<mapper namespace="com.example.mybatisdemo.mapper.DemoMapper">
</mapper>
- (3)
mybatis.mapper-locations=classpath:mapper/*.xml
【第五步:操作数据】
【说明】
- 进行数据库操作演示;
- 具体操作代码见此文;
【图片】
- (1)
![](https://i-blog.csdnimg.cn/blog_migrate/62a906d61233d38bac4606b71b05a646.jpeg)
【代码】
- (1)
/**
* 统计数据表行数
*
* @return 行数
*/
int count();
- (2)
<!--int count();-->
<select id="count" resultType="int">
SELECT
count(*)
FROM
a
</select>
- (3)
@Autowired
DemoMapper mapper;
@Test
void testDemoMapper() {
System.out.println(mapper.count());
}
后记
- 此文所用项目代码文件,需要的请下载;