为什么学习?把程序猿从CRUD(增删改查)中解放出来,因而需要用到ORM(Object relational Mapping)框架。Mybatis就是这样一种框架,是SSM框架集成中的重要部分。
ORM可以解决数据库与程序类之间的异构性,比如java中的String对应Mysql中varchar,Oracle中varchar2,SQLServer中的nvarchar.;用于实现面向对象编程语言中不同类型系统的数据之间的转换。一种将内存中的对象保存到关系型数据库中的技术,负责实体域对象的持久化并封装数据库访问细节。
没有关系映射,需要直接硬编码CRUD代码到JDBC程序类中,,增加了代码量,且不利于以后的修改和维护。
通过xml文件描述对象-关系的映射细节,使得ORM中间件能在任何一个java应用中为业务逻辑层和数据库之间搭建通信的桥梁。
比起hibernate,mybatis需要自己写sql
JPA(java persistence api),通过注解或xml描述对象-关系表之间的映射关系,是java自带的框架。
域模型是面向对象的,关系模型是面向关系的;一般情况下,一个持久化类和一个表对应,类的每一个实例和表中的一条记录对应,类中的每个属性对应表中每个字段。
缺点:系统层次增加,牺牲了程序的执行效率,降低了开发的灵活性。有时我们需要持久化部分属性,但ORM一般会持久化全部属性。
iBatis(internet+batis)改名为myBatis,目前项目迁移在github上。源代码:https://github.com/mybatis/mybatis-3/
提供的持久层框架包括SQL Maps和DAOs
依赖包: mybatis-3.4.6.jar
更多内容请阅读原博文:https://www.cnblogs.com/best/p/9711215.html