MyBatis 是一款优秀的持久层框架,它消除了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。MyBatis 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
1. MyBatis 简介
1.1 什么是MyBatis?
MyBatis 是一个半自动化的持久层框架,它将接口和 Java 对象映射成数据库中的记录。相比于全自动化的 ORM 框架如 Hibernate,MyBatis 提供了更为灵活的映射方式,同时也简化了数据库操作。
1.2 MyBatis 的特点
- 灵活的映射方式
- 简化数据库操作
- 支持自定义 SQL 语句
- 易于扩展
- 与 Spring 等框架集成方便
2. MyBatis 安装与配置
2.1 下载与安装
- 访问 MyBatis 官网下载最新版本的 MyBatis 和 MyBatis 配置文件(mybatis-config.xml)。
- 将下载的 jar 包添加到项目的依赖中。
2.2 配置文件(mybatis-config.xml)
配置文件 mybatis-config.xml 是 MyBatis 的核心配置文件,用于配置数据源、事务管理器、映射文件等。
<?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">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!-- 映射文件 -->
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
3. MyBatis 映射文件
映射文件定义了 MyBatis 的 SQL 语句与 Java 对象的映射关系。每个映射文件包含多个 <mapper> 标签,每个标签对应一个 Java 接口。
3.1 创建 UserMapper 接口
package com.example.mapper;
import java.util.List;
public interface UserMapper {
List<User> selectAll();
}
3.2 创建 UserMapper.xml 映射文件
<?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">
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectAll" resultType="com.example.User">
SELECT * FROM users
</select>
</mapper>
4. MyBatis 实战教程
4.1 创建 MyBatis 环境变量
- 在 pom.xml 中添加 MyBatis 和数据库驱动的依赖。
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
- 创建 mybatis-config.xml 配置文件。
4.2 编写 Java 接口和映射文件
- 创建 UserMapper 接口和 UserMapper.xml 映射文件。
4.3 创建 Java 实体类
- 创建 User 实体类,包含用户信息字段。
4.4 创建 MyBatis 工程实例
- 在主类中,使用 SqlSessionFactoryBuilder 创建 SqlSessionFactory。
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
- 使用 SqlSessionFactory 创建 SqlSession。
SqlSession sqlSession = sqlSessionFactory.openSession();
- 使用 Mapper 接口操作数据库。
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.selectAll();
sqlSession.close();
5. MyBatis 项目案例解析
5.1 案例:图书管理系统
- 使用 MyBatis 实现图书信息的增删改查功能。
- 创建数据库表和实体类。
- 编写 Mapper 接口和映射文件。
- 使用 MyBatis 操作数据库。
5.2 案例:在线考试系统
- 使用 MyBatis 实现用户登录、题目管理、考试管理等功能。
- 创建数据库表和实体类。
- 编写 Mapper 接口和映射文件。
- 使用 MyBatis 操作数据库。
6. 总结
本文介绍了 MyBatis 的基本概念、安装与配置、映射文件、实战教程和项目案例解析。通过学习本文,您应该能够快速入门 MyBatis 并在实际项目中应用它。祝您学习愉快!
