MyBatis介绍
网址
简介
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis几乎避免了所有JDBC代码和手动设置参数以及获取结果集。它能够使用简单的XML或注解的方式来配置和映射原生类型、接口和Java的POJO(Pian Old Java Objects,普通老式Java对象)为数据库的记录。
Mybatis官网结构目录
简介 :
什么是MyBatis
入门 :
(1)使用MyBatis的第一步,使用jar包或者maven依赖
(2)基础的XML配置文件,一般名为mybatis-config.xml
(3)使用框架的简单代码:构建SqlSessionFactory,获取SqlSession,SqlSession示例执行SQL语句等
(4)简单的mapper.xml中的配置select语句的示例
(5)简单说明mapper.xml中的命名空间
(6)用注解的方式代替mapper.xml
(7)详细解释了SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、映射器实例的生命周期和作用范围,并给出使用建议。
XML配置 :
主要是说明mybatis-config.xml中有什么内容,应该怎么用。
属性 :
主要介绍了<properties></properties>标签中应该写的内容,以及它的作用是什么,作用范围有哪些等。
还说明了如何灵活地使用此标签。
设置 :
<settings></settings>标签中有很多属性,在文档中列出了一张表,其中介绍了每个属性的用途。
更改此处参数的值,会改变MyBatis的运行时行为。
类型别名 :
<typeAliases></typeAliases>标签的作用是为Java类型设置短的名字,除了介绍用法,还介绍了内置的别名。
类型处理器 :
<typeHandlers></typeHandlers>标签,用表格形式写出了默认的类型处理器
对象工厂 :
<objectFactory></objectFactory>标签,其中解释了怎么创建自己的对象工厂,标签内可以写什么内容。
插件 :
<plugins></plugins>标签,通过配置插件可以拦截方法签名。
环境配置 :
强调,尽管可以配置多个环境,但每个SqlSession实例只能使用对应有一个<environments></environments>标签,如果是三个数据库就需要三个实例。
在写配置文件时,此部分是必不可少的,需要着重了解一下。
数据库厂商标识 :
<databaseIdProvider></databaseIdProvider>标签。
映射器 :
<mappers></mappers>此部分很重要,但在这里仅仅介绍了使用“相对类路径的资源引用”、“完全限定资源定位符(URL)”、“映射器接口实现类的完全限定类名”、“一个包内所有接口全部注册为映射器”
XML映射文件 :
MyBatis真正强大的部分就是映射,能够节省大量代码,此部分将描述一个映射文件应该如何去写。
select:
查询语句。此部分主要介绍了简单查询的写法。
除此之外,给出表格介绍了标签属性以及作用
insert, update和delete :
在sql语句中,这三个十分相近,所以MyBatis将其归纳成一部分,说明了这些标签对应的属性以及作用。
sql :
<sql></sql>标签以及使用<include></include>标签来包含某SQL片段的示例。
参数 :
参数是MyBatis中非常强大的元素,在这一部分主要介绍了#{}的几种常见用法以及一些复杂用法。
字符串替换 :
其中有关于${}和#{}的区别的描述。
结果映射 :
在此处说明了<resultMap></resultMap>标签以及resultMap属性的用法,也说明了如何将表中列名与对象属性一一对应。
高级结果映射 :
对于一些复杂的对象映射(多表查询,一个对象中包含另一个对象),使用resultMap的方法示例。
结果映射(resultMap) :
详细说明了<resultMap>标签的各个属性用途。
关联的多结果集(ResultSet) :
介绍了一下版本3.23以后的resultSet属性
集合 :
<collection></collection>标签:处理多个类型的关联。
鉴别器 :
<discriminator></discriminator>标签,同样位于结果集中,会根据不同的结果使用不同的类型。
自动映射 :
似乎没有去讲如何设置自动映射,但是写有自动映射的作用以及属性值。
缓存 :
包括自定义缓存,都介绍了缓存如何去写,但是并未详细说明何时去使用,需要自己判断。
动态SQL :
在此目录下分别介绍了
<if></if>、
<choose><when></when><otherwise></otherwise></choose>、
<where></where>、
<trim></trim>、
<set></set>、
<foreach></foreach>、
<bind></bind>,
以及注解下使用的<script></script>。
除此之外,还展现了多数据库支持(通过判断使用的是什么数据库来用不同的语句)、动态SQL中的可插拔脚本语言。
Java API :
这一板块主要是介绍了如何写代码去使用MyBatis。
目录结构 :
用树状结构的形式展现推荐目录结构。
SqlSessions :
分别介绍了SqlSessionFactoryBuilder的五个build方法,SqlSessionFactory创建SqlSession实例的方法,以及多数SqlSession的方法。
需要注意的是,如果要查看增删改查的方法、事务提交回滚,以及一些小的注意事项,那么需要仔细阅读此部分。
此处也写有详细的注解内容 ,如果想要使用注解,那么可以看一看这里。
SQL语句构建器 :
详细说明SQL工具类如何使用——用以高效地生成SQL语句。
日志 :
介绍了如何使用日志工具。