- Mybatis基础
- 什么是Mybatis
- 什么是框架
- ORM介绍
- 快速入门
- 环境搭建
- MyBatis的相关api
- Resources
- 构建器SqlSessionFactoryBuilder
- 工厂对象SqlSessionFactory
- SqlSession会话对象
- MyBatis 映射配置文件
- 映射配置文件介绍
- 查询功能
- 新增功能
- 修改功能
- 删除功能
- 小结
- Mybatis核心配置文件介绍
- 核心配置文件介绍
- 数据库连接配置文件引入
- 起别名
- 小结
- Mybatis传统方式开发
- Dao 层传统实现方式
- LOG4J的配置和使用
Mybatis基础
什么是Mybatis
基于Java的持久层框架
(半自动)
内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程
运用过程:
mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。
最后mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。
什么是框架
框架是一款半成品软件,我们可以基于这个半成品软件继续开发
ORM介绍
-
ORM(Object Relational Mapping): 对象关系映射
-
指的是持久化
数据和实体对象
的映射模式,为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。
快速入门
MyBatis开发步骤:
①添加MyBatis的jar包
②创建Student数据表
③编写Studentr实体类
④编写映射文件StudentMapper.xml
⑤编写核心文件MyBatisConfig.xml
⑥编写测试类
环境搭建
1)导入MyBatis的jar包
2) 创建student数据表
3) 编写Student实体
4)编写StudentMapper.xml映射文件
5) 编写MyBatis核心文件
MyBatis的相关api
Resources
org.apache.ibatis.io.Resources:加载资源的工具类。
构建器SqlSessionFactoryBuilder
org.apache.ibatis.session.SqlSessionFactoryBuilder:获取 SqlSessionFactory 工厂对象的功能类
工厂对象SqlSessionFactory
org.apache.ibatis.session.SqlSessionFactory:获取 SqlSession 构建者对象的工厂接口。
SqlSession会话对象
org.apache.ibatis.session.SqlSession:构建者对象接口。用于执行 SQL、管理事务、接口代理。
MyBatis 映射配置文件
映射配置文件介绍
映射配置文件包含了数据和对象之间的映射关系以及要执行的 SQL 语句
查询功能
-
<select>:查询功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
新增功能
-
<insert>:新增功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
修改功能
-
<update>:修改功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
删除功能
-
<delete>:查询功能标签。
-
属性
id:唯一标识, 配合名称空间使用。
parameterType:指定参数映射的对象类型。
resultType:指定结果映射的对象类型。
-
SQL 获取参数: #{属性名}
小结
Mybatis核心配置文件介绍
核心配置文件介绍
核心配置文件包含了 MyBatis 最核心的设置和属性信息。如数据库的连接、事务、连接池信息等。
数据库连接配置文件引入
properties标签引入外部文件
<!--引入数据库连接的配置文件-->
<properties resource="jdbc.properties"/>
具体使用,如下配置
<!-- property获取数据库连接的配置信息 -->
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
起别名
-
<typeAliases>:为全类名起别名的父标签。
-
<typeAlias>:为全类名起别名的子标签。
-
属性
type:指定全类名
alias:指定别名
-
<package>:为指定包下所有类起别名的子标签。(别名就是类名)
<!--起别名-->
<typeAliases>
<typeAlias type="com.itheima.bean.Student" alias="student"/>
<!--<package name="com.itheima.bean"/>-->
</typeAliase
小结
Mybatis传统方式开发
Dao 层传统实现方式
分层思想:控制层(controller)、业务层(service)、持久层(dao)。
LOG4J的配置和使用
在日常开发过程中,排查问题
时难免需要输出 MyBatis 真正执行的 SQL 语句、参数、结果等信息,我们就可以借助 LOG4J 的功能来实现执行信息的输出
。