前言
在SpringBoot
开发中,之前已经讲过了数据持久层框架,包括Jdbc
,Jpa
等。Jdbc
已经逐渐淡出开发舞台,JPA
统治了一段时间,但是后来出现了更为优秀的数据持久层框架——MyBatis
.那么久让我们来了解下MyBatis
相关知识吧。
今天涉及的知识有:
-
MyBatis
简介 -
MyBatis
配置
一. MyBatis简介
网上对于MyBatis
的解释很多,也很繁琐。这里我就不展开讲了。简单来说,MyBatis
是一个优秀的数据持久层框架。做的事就是实现SQL
和POJO
的相互转化。
二. MyBatis 配置
MyBatis
的配置主要分为两部分: 基础配置文件
和 映射文件
。 在MyBatis
中可以使用注解来实现映射,由于功能和可读性限制,一般不采用注解配置SQL
的方式。
MyBatis
基于SqlSessionFactory
构建的框架,其生命周期中只存在一个SqlSessionFactory
对象,并且往往会使用单例模式。构建SqlSessionFactory
是通过配置类来完成的。
MyBatis
的配置涉及到以下方面:
- properties(属性):属性文件一般采用
Spring
进行配置,而不是MyBatis
- settings(设置):此配置将改变
MyBatis
底层行为,可配置映射规则,如自动映射或驼峰映射,执行器(Executor
)类型,缓存内容等 - typeAliases(类型别名): 因为使用类全限定名会比较长,所以
MyBatis
会对常用类提供默认别名,此外还允许我们通过typeAliases
设置自定义别名 - typeHandlers(类型处理器):主要用于处理
sql
与pojo
的数据类型转换,MyBatis
已内置很多自定义的typeHandler
。一般来说,typeHandler
的使用集中在枚举类型上。 - objectFactory(对象工厂):
MyBatis
返回生成POJO
是时调用的工厂类,一般我们使用MyBatis
默认提供的工厂类DefaultObjectFactory
- plugins(插件): 有时也称拦截器,通过动态代理和责任链模式完成,可以修改
MyBatis
底层的实现功能 - environments(数据库环境):可配置数据库连接内容和事务,一般交由
Spring
托管 - databaseIdProvider(数据库厂商标识): 允许
MyBatis
配置多种类型数据库,不常用 - mappers(映射器):
MyBatis
最核心组件,提供sql
与pojo
映射关系。
ok,今天关于MyBatis
的简单介绍就到这里了,谢谢大家。
网友评论