MyBatis开发入门(一)

本文介绍MyBatis框架的基础知识,包括其与Hibernate的区别、环境搭建步骤及工作原理,并提供了配置文件mybatis-config.xml的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  MyBatis是主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM(即对象关系映射)框架。MyBatis是一个半自动映射的框架,因为MyBatis需要手动匹配POJO,SQL和映射关系;而Hibernate是一个全表映射的框架,只需提供POJO和映射关系即可。MyBatis是一个小巧,方便,高效,简单,直接,半自动化的持久层框架;Hibernate是一个强大,方便,高效,复杂,间接,全自动化的持久层框架。

github该demo路径:https://github.com/chegy218/ssm-review/tree/master/mybatis

1,MyBatis环境的构建

mybatis-3.4.5.jar是MyBatis的核心包,lib文件夹下的JAR是MyBatis的依赖包。
下载路径:https://github.com/mybatis/mybatis-3/releases/tag/mybatis-3.4.5
只需将核心包和依赖包复制到/WEB-INF/lib目录中。

2,MyBatis的工作原理

工作流程如下:
(1),读取MyBatis配置文件:mybatis-config.xml为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,例如数据库的连接信息。
(2),加载映射文件。映射文件即SQL映射文件,该文件中配置了操作数据库的SQL语句,需要在MyBatis配置文件mybatis-config.xml加载。mybatis-config.xml文件可以加载多个映射文件,每个文件对应数据库中的一张表。
(3),构造会话工厂:通过MyBatis的环境等配置信息构建会话工厂SqlSessionFactory。
(4),创建会话对象:由会话工厂创建SqlSession对象,该对象中包含了执行SQL语句的所有方法。
(5),Executor执行器:MyBatis底层定义了Executor接口来操作数据库,它将根据SqlSession传递的参数动态地生成需要执行的SQL语句,同时负责查询缓存的维护
(6),MappedStatement对象:在Executor接口的执行方法中有一个MappedStatement类型的参数,该参数是对映射信息的封装,用于存储要映射的SQL语句的id,参数等信息。
(7),输入参数映射:输入参数类型可以是Map,List等集合类型,也可以是基本数据类型和POJO类型。输入参数映射过程类似于JDBC对preparedStatement对象设置参数的过程。
(8),输出结果映射:输出结果类型可以是Map,List等集合类型,也可以是基本数据类型和POJO类型。输出结果映射过程类似于JDBC对结果集的解析过程。
在这里插入图片描述

3,MyBatis入门程序

配置文件mybatis-config.xml

<?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">
			<!-- 使用JDBC的事务管理 -->
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<!-- MySQL数据库驱动 -->
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<!-- 连接数据库的URL -->
				<property name="url" value="jdbc:mysql://localhost:3306/test4?characterEncoding=utf8&amp;useSSL=true"/>
				<!-- 连接数据库的用户名 -->
				<property name="username" value="root"/>
				<!-- 连接数据库的密码 -->
				<property name="password" value="123456"/>
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!-- 映射文件的位置 -->
		<mapper resource="com/mybatis/mapper/UserMapper.xml"/>
	</mappers>
	
</configuration>

详情代码请看github内的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值