参考代码:\text {MyBatis\mybatis-demo\demo1}

简介

MyBatis\text {MyBatis} 是一个流行的 Java\text {Java} 持久层框架,提供了对象关系映射(ORM\text {ORM})的功能,允许开发者通过 ORM\text {ORM} 描述符或注解将对象与存储在数据库中的数据进行映射。

历史

  • iBATIS\text {iBATIS}的诞生MyBatis\text {MyBatis} 最初被称为 iBATIS\text {iBATIS},由 Clinton Begin\text {Clinton Begin} 在 2002 年创建。iBATIS\text {iBATIS} 项目的目标是简化传统的 JDBC\text {JDBC} 代码,提供更简单的编程接口来减轻开发者直接使用 SQL\text {SQL}JDBC\text {JDBC} 所带来的负担。
  • 转变为 MyBatis\text {MyBatis}:随着项目的发展和社区的扩大,iBATIS\text {iBATIS} 项目在 2010 年被捐赠给了 Apache\text {Apache} 软件基金会。不久之后,为了标志着框架的新生,iBATIS 3.0\text {iBATIS 3.0} 被重命名为 MyBatis\text {MyBatis}。这次重大更新不仅改变了名称,还引入了许多新的特性和改进,使其成为更加强大和灵活的持久层框架。

特性

  • 简化数据库交互
  • 灵活的映射机制
  • 动态SQL
  • 插件架构
  • 集成简单
  • 支持注解和XML配置
  • 优秀的分页支持

下载

https://github.com/mybatis/mybatis-3/releases

环境搭建

pom.xml\text {pom.xml}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<!-- Version properties -->
<mybatis.version>3.5.14</mybatis.version>
<junit.version>4.12</junit.version>
<mysql.connector.version>8.0.27</mysql.connector.version>
</properties>

<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.connector.version}</version>
</dependency>
</dependencies>

配置文件

  • <configuration> 标签:配置文件的根标签,包裹了所有的配置信息。
  • <typeAliases> 标签:用于配置类型别名,将 Java\text {Java} 类的完全限定名映射成一个简单的别名。
  • <environments> 标签:用于配置数据库环境,可以定义多个环境,但只能指定一个默认环境。
    • <transactionManager> 标签:指定事务管理器的类型。
    • <dataSource> 标签:指定数据源的类型。在 <dataSource> 标签内部,可以通过 <property> 子标签配置数据源的属性,如数据库驱动、连接 URL\text {URL}、用户名和密码等。相关值可以在外部的属性文件中配置,以提高灵活性和安全性。
  • <mappers> 标签:用于配置映射器(Mapper)。映射器负责将 SQL\text {SQL} 语句与 Java\text {Java} 方法进行映射,用于执行数据库操作。

mybatis-config.xml\text {mybatis-config.xml} 示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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>

<properties resource="jdbc.properties"/>

<typeAliases>
<package name="com.liangjiajia.cs.pojo"/>
</typeAliases>

<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<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>

<mappers>
<mapper resource="mappers/CustomerMapper.xml"/>
</mappers>
</configuration>