普通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
说明
- 创建演示数据库;
- 数据库名称
"mybatis_demo"
;图片
代码
【说明】
- 演示数据库的建库语句;
-- -------------------------------------------------------- -- 主机: 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 configurationPUBLIC "-//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)
代码
【说明】
- "Mybatis"映射文件;
- 文件"DemoMapper.xml";
- 创建后直接
"CV"
即可;<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- "namespace":即空间命名名称,一般绑定对应接口的全限定路径 --> <mapper namespace="xxxx"></mapper>
步骤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;@Beforepublic void start() throws IOException {System.out.println("测试类里的某个测试方法开始执行了。。。\n");// 定位核心配置文件String resource = "mybatis-config.xml";// 加载核心配置文件InputStream is = Resources.getResourceAsStream(resource);// 获取SqlSessionFactoryBuilderSqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();// 获取SqlSessionFactorySqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);// 获取SqlSessionsqlSession = sqlSessionFactory.openSession();// 获取Mapper接口对象mapper = sqlSession.getMapper(DemoMapper.class);}@Afterpublic void close() {System.out.println("\n测试类里的某个测试方法执行完毕了。。。");// 进行事务的提交操作sqlSession.commit();// 断开程序与数据库的链接,释放资源;sqlSession.close();}/*** 测试代码*/@Testpublic void test() {System.out.println("测试方法开始执行!");}}
步骤G
说明
- 进行操作演示;
图片
(1)
(2)
代码
(1)
【说明】
- 文件"DemoMapper.java";
/*** 统计表中的记录总数*/ int count();
(2)
【说明】
- 文件"DemoMapper.xml";
<!--int count();--> <select id="count" resultType="java.lang.Integer">SELECTCOUNT(*)FROMa </select>
(3)
【说明】
- 文件"DemoMapperTests.java";
/*** 测试代码*/ @Test public void test() {System.out.println("测试方法开始执行!");System.out.println(mapper.count()); }
文件
- 此文项目代码相关文件,需要的请下载;
后记
- 具体操作代码见文章 :【Mybatis】(02);