【Java - 框架 - Mybatis】(01) 普通Java项目使用Mybatis操作Mysql - 快速上手

普通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 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)

代码

【说明】

  • "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>

步骤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)

(2)

代码

(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());
}

文件

后记

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUNxRUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值