普通Java项目使用Mybatis操作Mysql - 快速上手
说明
- 通过软件
"IntelliJ IDEA"
创建"Maven"
项目完成; - 通过
"Mybatis"
框架操纵"MySQL"
数据库完成操作;
环境
Java
版本"1.8.0_202"
;Windows 11 专业版_22621.2428
;IntelliJ IDEA 2021.1.3(Ultimate Edition)
;
依赖
"junit"
版本"4.13.2"
;"mybatis"
版本"3.5.6"
;"mysql-connector-java"
版本"8.0.28"
;
步骤
步骤A
说明
- 创建一个"Maven"项目;
图片
(1)
(2)
步骤B
说明
- 添加相关依赖;
代码
(1)
【说明】
- 所有依赖项;
- 直接
CV
即可;- 文件
pom.xml
;<dependencies> <!-- "JUnit"依赖项 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> <!-- "Mybatis"依赖项 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!-- "Mysql"依赖项 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency> </dependencies>
(2)
【说明】
- "JUnit"依赖项;
<!-- "JUnit"依赖项 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
(3)
【说明】
- "Mybatis"依赖项;
<!-- "Mybatis"依赖项 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency>
(4)
【说明】
- "MySQL"依赖项;
<!-- "Mysql"依赖项 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> </dependency>
图片
步骤C
说明
- 创建演示数据库;
图片
代码
【说明】
- 演示数据库的建库语句;
-- -------------------------------------------------------- -- 主机: 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 的数据:~0 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
说明
- 创建"Mybatis"配置文件;
代码
【说明】
- "Mybatis"配置文件;
- 文件
mybatis-config.xml
;- 创建文件后直接
"CV"
即可;<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 配置连接数据库的环境 --> <environments default="development"> <environment id="development"> <!-- 设置事务管理器的类型 --> <transactionManager type="JDBC"/> <!-- 设置连接数据库的信息 --> <dataSource type="POOLED"> <!-- 设置驱动名称 --> <!-- "${driver}":具体的驱动名称(如:com.mysql.cj.jdbc.Driver)--> <property name="driver" value="${driver}"/> <!-- 设置连接地址 --> <!-- "${url}":具体的连接地址(如:jdbc:mysql://localhost:3306/数据库名?useSSL=false)--> <property name="url" value="${url}"/> <!-- 设置数据库用户 --> <!-- "${username}":具体的数据库用户 --> <property name="username" value="${username}"/> <!-- 设置数据库密码 --> <!-- "${password}":具体的数据库密码 --> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!-- 配置用于引入映射文件 --> <mappers> <!-- Mapper代理-包扫描 --> <package name="mapper"/> </mappers> </configuration>
图片
步骤E
说明
- 创建"Mybatis"映射文件;
代码
【说明】
- "Mybatis"映射文件;
- 文件
DemoMapper.xml
;- 创建后直接
"CV"
即可;<?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="xxxx"> </mapper>
图片
(1)
(2)
步骤F
说明
- 添加基础代码;
代码
【说明】
- 基础代码;
- 创建文件后直接
"CV"
即可;- 文件
DemoMapperTests.java
;import mapper.DemoMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.IOException; import java.io.InputStream; public class DemoMapperTests { DemoMapper mapper; SqlSession sqlSession; @Before public void start() throws IOException { System.out.println("测试类里的某个测试方法开始执行了。。。\n"); // 定位核心配置文件 String resource = "mybatis-config.xml"; // 加载核心配置文件 InputStream is = Resources.getResourceAsStream(resource); // 获取SqlSessionFactoryBuilder SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); // 获取SqlSessionFactory SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is); // 获取SqlSession sqlSession = sqlSessionFactory.openSession(); // 获取Mapper接口对象 mapper = sqlSession.getMapper(DemoMapper.class); } @After public void close() { System.out.println("\n测试类里的某个测试方法执行完毕了。。。"); // 进行事务的提交操作 sqlSession.commit(); // 断开程序与数据库的链接,释放资源; sqlSession.close(); } /** * 测试代码 */ @Test public void test() { System.out.println("测试方法开始执行!"); } }
图片
步骤G
说明
- 进行操作演示;
代码
(1)
【说明】
- 文件
DemoMapper.java
;/** * 统计表中的记录总数 */ int count();
(2)
【说明】
- 文件
DemoMapper.xml
;<!--int count();--> <select id="count" resultType="java.lang.Integer"> SELECT COUNT(*) FROM a </select>
(3)
【说明】
- 文件
DemoMapperTests.java
;/** * 测试代码 */ @Test public void test() { System.out.println("测试方法开始执行!"); System.out.println(mapper.count()); }
图片
(1)
(2)
后记
-
此文所用项目代码文件,需要的请下载;
-
具体操作代码见文章 :【Mybatis】(02);