“SpringBoot"整合"Mybatis"操作"Mysql” - 快速上手;
环境
Java
版本"1.8.0_202"
;Spring Boot
版本"2.5.9"
;Windows 11 专业版_22621.2428
;IntelliJ IDEA 2021.1.3(Ultimate Edition)
;
步骤
步骤A
说明
- 创建一个"Spring Boot"项目;
图片
(1)
(2)
(3)
步骤B
说明
- 添加相关依赖项;
图片
(1)
(2)
(3)
代码
<!-- 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>
步骤C
说明
- 创建演示数据库;
图片
(1)
(2)
(3)
代码
【说明】
- 演示数据库的建库语句;
-- -------------------------------------------------------- -- 主机: 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) */;
步骤D
说明
- 连接演示数据库;
图片
(1)
(2)
代码
(1)
【说明】
- 配置数据库相关信息;
# 数据库的URL spring.datasource.url=jdbc:mysql://localhost:3306/<数据库>?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai # 数据库的账号 spring.datasource.username=<账号> # 数据库的密码 spring.datasource.password=<密码>
(2)
【说明】
- 测试数据库连接状态;
// Spring Boot自动读取"application.properties"的配置,并创建了数据源对象 @Autowired DataSource dataSource; // 连接数据库,用于检查"application.properties"中连接数据库的参数值是的正确 @Test void testConnection() throws Exception { // 获取与"MySQL"的连接,此方法的调用会实质的连接数据库 dataSource.getConnection(); System.out.println("数据库连接成功!!!"); }
步骤E
说明
- 创建映射代码;
图片
(1)
(2)
(3)
(4)
代码
(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
步骤F
说明
- 进行操作演示;
- 具体操作代码见此文;
图片
代码
(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()); }
后记
- 此文所用项目代码文件,需要的请下载;