1.MyBatis简介
1.1传统JDBC
传统JDBC编程主要分以下步骤:
(1)连接数据库,注册驱动和数据库信息;
(2)操作Connection,打开Statement对象;
(3)通过Statement执行SQL,返回结果集到ResultSet对象;
(4)读取ResultSet中的数据,通过代码转化成POJO对象;
(5)关闭数据库资源
弊端:(1)工作量大,连接数据库、操作JDBC底层事务、处理数据类型、操作Connection、Statement、ResultSet对象才能拿到数据、还要准确关闭数据库资源;(2)对可能产生的异常要进行捕捉处理并正确关闭资源。
1.2 ORM模型
ORM即对象关系映射模型,主要解决关系型数据库数据与Java对象的互相映射,通过这层关系可以简单快速地把数据库数据转化成POJO,使程序员更方便开发Java程序。有了ORM,开发者不必去深入关心数据库相关只是,通过映射配置即可获得数据库数据即POJO。
1.3 Hibernate
Hibernate基于ORM模型,对JDBC进行了很大程度的封装,提供了一种全表映射模型,将POJO通过配置文件XML配置规则映射到数据库表上,即可以直接用POJO操作数据的数据。
Hibernate优势:
(1)消除了代码的映射规则,它被全部分离到XML或注解里进行配置;
(2)无需管理数据库连接,配置在XML里面
(3)一个会话,不要操作多个对象(JDBC里的Connection,Statement,ResultSet),只需要操作Session即可。
(4)关闭资源自需要关闭Session即可
(5)Hibernate还提供级联、缓存、映射一对多等功能
HIbernate缺点:
(1)全表映射带来的不便,比如更新时需要发送所有的字段。
(2)无法根据不同的条件组装不同的SQL
(3)对多表关联和复杂SQL,需要自己写SQL,返回后,需要自己将数据成POJO;
(4)不能有效支持存储过程;
(5)虽然有HQL,但性能较差,比如大型互联网系统往往需要性能优化,Hibernate往往做不到。
1.4 MyBtais
半自动映射框架,因为MyBatis需要手动匹配提供POJO、SQL和映射关系,Hibernate只需要提供POJO和映射关系。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有