MyBatis
概述:
Mybatis是持久层框架,支持sql,储存过程以及高级映射
避免了大部分jdbc代码,和手动设置参数以及获取结果集
可以使用简单的xml或者注解来配置映射,接口和java的实体类
Mybatis有两种方法,一个是注解,一个是xml
注解:使用注解方便一些,不需要xml配置文件,看上去好看,但是sql语句和代码在一起,很混乱,简单代码可以放,但是很长的代码放进去很难维护
Xml:把slq放在xml文件中,java代码中会感觉干净一些,并且使用xml的形式,写一些复杂的sql数据会方便,也能统一管理,其他同事接手工作的时候,位置更好找,修改便捷,不容易出错
使用场景:
操作持久层Dao和jdbc一样,操作数据库的
当我们要写jsp动态页面和用户交互的时候,就需要操作数据库
而MyBatis就是负责操作诗句哭的
MyBaits与Hibernate的区别
MyBatis:
框架简陋,功能有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询的 还是要自己写,工作量大,不能快速更改数据库
Hibernate:
功能强大,数据库无关性好,对象关系(O/R)映射能力强,如果你对HiBernate 相当精通,而且Hibernate进行了适当的封装,项目的持久层代码非常简单,需要写的代码非常少,开发速度快,nice
有更好的二级缓存,可以使用第三方缓存
学习门槛高,需要精通如何设计对象关系(O/R)映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行