🚀个人主页:欢迎访问Ali.S的主页
📆 最近更新:2022年7月12日
⛽ Java框架学习系列:Mybatis框架
⛳ Java基础学习系列:面向对象飞机大战
🏆 通信仿真学习系列:【硬件】【通信】【MATLAB】
🍄 个人简介:通信工程本硕🌈、Java程序员🚴。目前只会CURD😂
💌 点赞 👍 收藏 💗留言 💬 都是我最大的动力💯
文章目录
一、Mybatis基本介绍
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。Mybatis是ORM框架,能够帮助我们完成面向对象到关系型数据库的映射, 不用写复杂的JDBC 代码以及进行设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录。使用Mybatis框架能否很好的提高我们开发的速度和较少不必要的复杂代码。
二、Mybatis基本依赖配置
在使用Mybatis之前,肯定需要将Mybatis进行一系列的配置,让我们的项目能够使用Mybatis框架,要使用 MyBatis, 只需将 mybatis的jar包文件置于类路径中即可。这里因为是用的Maven项目,所以将依赖代码置于 pom.xml 文件中,通过依赖来自动加入Mybatis。
1.pox.xml中Mybatis的依赖配置
这里版本号可自己选择,我这里自动提示为3.5.10版本。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
2.pox.xml中MySQL的依赖配置
由于Mybati是用来 处理数据的框架,自然是少不了数据库的依赖,这里使用MySQL数据库。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
3.pox.xml中JUnit的依赖配置
这里配置JUnit方便后面做测试案例,可以对不同的单元进行测试, 测试写在maven项目下的test包下进行统一管理,方便进行不同测试的需求。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
4.pox.xml中Logback的依赖配置
这里配置logback是日志依赖,方便看到后面进行数据操作后,打印数据变动的依赖。方便对错误信息能够快速定位和找到解决办法。
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.9</version>
</dependency>
5.Mybatis的构件流程
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的,通过SqlSessionFactoryBuilder获得SqlSessionFactory的实例对象。其根本是因SqlSessionFactoryBuilder 可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
三、Mybatis核心配置
XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源以及事务管理和控制事务管理器等核心配置。核心配置文件名为mybatis-config.xml,放在Resource包下。
1.核心配置
- 读取jdbc配置文件:
<properties resource="jdbc.properties"/>
- 事务管理器:
<transactionManager type="JDBC"/>
,其中JDBC代表对数据库的事务进行CRUD,使用commit进行事务提交,使用rollback进行事务回滚。 - 数据源:
<dataSource type="POOLED">
,POOLED是Mybatis自带连接池。还有其他类型,例如UNPOOLED代表直连,不适用连接池,使用完毕后,直接释放连接;JNDI代表数据源的配置信息交给服务器来管理。
<?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">
<!-- 驱动、连接url,账号、密码-->
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
</configuration>
2.数据源dataSource
POOLED是Mybatis自带连接池。与之相区别的主要是UNPOOLED代表直连,不适用连接池,使用完毕后,直接释放连接,与JDBC.close()类似操作。
-
使用连接池
-
使用直连
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Mybatis的基本介绍和相关配置,为后面的数据操作做好准备,具体的CURD操作在后续文章中会写到。