MyBatis 快速入门
框架介绍
框架是一款半成品软件,我们可以基于这个半成品软件继续开发,来完成我们个性化的需求!
ORM(Object Relational Mapping):对象关系映射 指的是持久化数据和实体对象的映射模式,为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。映射规则:
数据表 -> 类
表字段 -> 类属性
表数据 ->对象
原始 JDBC 的操作-查询
MyBatis 介绍
原始 JDBC 的操作问题分析
- 频繁创建和销毁数据库的连接会造成系统资源浪费从而影响系统性能。
- sql 语句在代码中硬编码,如果要修改 sql 语句,就需要修改 java 代码,造成代码不易维护。
- 查询操作时,需要手动将结果集中的数据封装到实体对象中。
- 增删改查操作需要参数时,需要手动将实体对象的数据设置到 sql 语句的占位符。
原始 JDBC 的操作问题解决方案 - 使用数据库连接池初始化连接资源。
- 将 sql 语句抽取到配置文件中。
- 使用反射、内省等底层技术,将实体与表进行属性与字段的自动映射。
MyBatis 介绍
MyBatis 是一个优秀的基于 Java 的持久层框架,它内部封装了 JDBC,使开发者只需要关注 SQL 语句本身,
而不需要花费精力去处理加载驱动、创建连接、创建执行者等复杂的操作。
MyBatis 通过 xml 或注解的方式将要执行的各种 Statement 配置起来,并通过 Java 对象和 Statement 中
SQL 的动态参数进行映射生成最终要执行的 SQL 语句。
最后 MyBatis 框架执行完 SQL 并将结果映射为 Java 对象并返回。采用 ORM 思想解决了实体和数据库映射
的问题,对 JDBC 进行了封装,屏蔽了 JDBC API 底层访问细节,使我们不用与 JDBC API 打交道,就可以
完成对数据库的持久化操作。
MyBatis 入门程序
-
数据准备。
-
导入 jar 包。
-
在 src 下创建映射配置文件。
-
在 src 下创建核心配置文件。
-
编写测试类完成相关 API 的使用。
-
运行测试查看结果。
-
框架
框架是一款半成品软件,我们可以基于框架继续开发,从而完成一些个性化的需求。 -
ORM
对象关系映射,数据和实体对象的映射。 -
MyBatis
是一个优秀的基于 Java 的持久层框架,它内部封装了 JDBC。 -
入门步骤
导 jar 包。
编写映射配置文件。
编写核心配置文件。
使用相应的 API 来完成编码。
MyBatis 相关 API
Resources
加载资源的工具类。
SqlSessionFactoryBuilder
获取 SqlSessionFactory 工厂对象的功能类。
SqlSessionFactory
获取 SqlSession 构建者对象的工厂接口。
指定事务的提交方式。
SqlSession
构建者对象接口。
执行 SQL。
管理事务。
接口代理。
查询功能
:查询功能标签。
属性
id:唯一标识,配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
SQL 获取参数
#{属性名}
示例
新增功能
:新增功能标签。
属性
id:唯一标识,配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
SQL 获取参数
#{属性名}
示例
修改功能
:修改功能标签。
属性
id:唯一标识,配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
SQL 获取参数
#{属性名}
示例
删除功能
:删除功能标签。
属性
id:唯一标识,配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
SQL 获取参数
#{属性名}
示例
映射配置文件小结
映射配置文件包含了数据和对象之间的映射关系以及要执行的 SQL 语句。
:核心根标签。
namespace 属性:名称空间
:查询功能标签。
:新增功能标签。
:修改功能标签。
:删除功能标签。
id 属性:唯一标识,配合名称空间使用
parameterType 属性:指定参数映射的对象类型
resultType 属性:指定结果映射的对象类型
SQL 获取参数
#{属性名}
核心配置文件介绍
核心配置文件包含了 MyBatis 最核心的设置和属性信息。如数据库的连接、事务、连接池信息等。
数据库连接配置文件引入
:引入数据库连接配置文件标签。
属性
resource:数据库连接配置文件路径
获取数据库连接参数
${键名}
起别名
:为全类名起别名的父标签。
:为全类名起别名的子标签。
属性
type:指定全类名
alias:指定别名
:为指定包下所有类起别名的子标签。(别名就是类名)
核心配置文件小结
核心配置文件包含了 MyBatis 最核心的设置和属性信息。如数据库的连接、事务、连接池信息等。
:核心根标签。
:引入数据库连接信息配置文件标签。
:起别名标签。
:配置数据库环境标签。
:配置数据库信息标签。
:事务管理标签。
:数据源标签。
:数据库连接信息标签。
:引入映射配置文件标签。
MyBatis 传统方式实现 Dao 层
Dao 层传统实现方式
分层思想:控制层(controller)、业务层(service)、持久层(dao)。 调用流程
LOG4J
在日常开发过程中,排查问题时难免需要输出 MyBatis 真正执行的 SQL 语句、参数、结果等信息,我们就
可以借助 LOG4J 的功能来实现执行信息的输出。
使用步骤
- 导入 jar 包。
- 修改核心配置文件。
- 在 src 下编写 LOG4J 配置文件。