- 不屏蔽SQL,意味着可以更为精确地定位SQL语句,可一个对其进行优化和改造。
- 提供强大、灵活的映射机制,方便Java开发者使用。体格弄动态SQL的功能允许根据不同条件组装SQL
- 使用Mapper接口编程,通过xml管理并创建映射器,让精力更集中于逻辑映射层。
以上来自课本,我自己的理解就是可以自己写SQL相比Hibernate可以让程序员根据需求来优化SQL,而Hibernate把SQL封装了起来,只能处理简单的事物,对于复杂一点的事物处理不是太好。灵活的映射机制,通过xml文件管理映配置接口等更为方便简单,我们会发现根本不用怎么管他如何进行持久化操作的,也不用进项像Hibernate那样复杂的配置,他更清晰易理解。但是有的ide提供了Hibernate自动配置,mybaits没有,不过也无碍,各有利弊,Hibernate用于流量小数据库简单的地方,mybais用于流量大的数据库复杂的地方。
持久层的概念
数据持久化,顾名思义吗,把数据长期存储起来。那就是存到硬盘上呗,存到内存里一关机就没了。
持久层可以将业务数据存储到磁盘,具备长期存储能力,只要硬盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取到这些数据。一般执行持久任务的都是数据库系统,持久层可以使用巨大的磁盘空间,也比较廉价,他的缺点就是慢(相对与内存来说比如非关系型数据库Redis是将数据暂存于内存中进行数据交换的)关于Redis我学的了再说。
关于MyBatis的配置
官网上有教程,极为详细可以自行参考,我就不赘述了。