前言
- 使用"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
【说明】
- 使用"Idea"创建一个"Maven"项目;
【图片】
- (1)
- (2)
步骤B
【说明】
- 给"Maven"项目添加相关依赖;
【图片】
- (1)
【代码】
- (1)
<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"依赖项 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
【说明】
- "JUnit"依赖项内容;
- (3)
<!-- "Mybatis"依赖项 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
【说明】
- "Mybatis"依赖项内容;
- (4)
<!-- "Mysql"依赖项 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
【说明】
- "MySQL"依赖项内容;
步骤C
【说明】
- 创建并查看演示数据库;
【图片】
- (1)
【代码】
- (1)
-- --------------------------------------------------------
-- 主机: 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"配置文件;
【图片】
- (1)
【代码】
- (1)
<?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"映射文件;
【图片】
- (1)
- (2)
【代码】
- (1)
<?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>
【说明】
- 映射文件内容;
步骤F
【说明】
- 添加基础代码创建对象;
【图片】
- (1)
【代码】
- (1)
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)
- (2)
【代码】
- (1)
/**
* 统计表中的记录总数
*/
int count();
- (2)
<!--int count();-->
<select id="count" resultType="java.lang.Integer">
SELECT
COUNT(*)
FROM
a
</select>
- (3)
/**
* 测试代码
*/
@Test
public void test() {
System.out.println("测试方法开始执行!");
System.out.println(mapper.count());
}
后记
-
此文所用项目代码文件,需要的请下载;
-
具体操作代码见文章 :【Mybatis】(02);