Dao层的四种比较

Dao四种比较



JDBCtemplate+JDBC+Mybatis+ Hibernate

1.JDBC。手动事务管理+资源cintenct

2.JDBCtemplate。解决:Spring封装+spring事务管理+资源创建,

有一点遗憾:不是orm框架导致没有映射关系;

3.Mybatis(映射关系,就是把sql写在xml中,可以返回Modle,如果是多表联查我们就返回一个list,如果要将数据库字段和页面的字段不同,就是使用resultMap进行映射)和

4.Hibernate(纯粹ORM框架通过操作对象来控制数据库,查询时写语句时,Hql麻烦。Sql不规范)。

Mybatis的话,我对它的理解是,它整体来说是一个ORM框架,ORM是一个关系对象映射,为了解决面向对象与关系数据库存在的互不匹配的现象的技术;它主要的一个思想是:通过操作对象来控制数据库,现在大多数的数据库都是关系型数据库比如Hibernate,他就是一个原生态的ORM框架,他们本身是通过一种映射关系,我的理解Mybatis它更多是做到了映射的功能,而没有真正完全同过操作操作对象来控制数据库,比如通过修改添加删除,他可以通过操作操作对象来控制数据库,但是还是要在xml中写sql语句,Hibernate的话它内部可以直接生成Hql语句,而Mybatis还是要手写sql语句,只是通过映射的关系去控制数据库,就相当于在数据库与java类中间建了一个桥梁,这就是他的思想。比Hibernate在某种程度上可以说是简单的,Hibernate它也有映射,但是它仅仅映射完后,它的sql都是通过hql语句生成的,但是当遇到一些查询语句时,写起来就非常麻烦,而Mybatis可以通过这种映射然后将它很好的去处理了.

你可能感兴趣的:(Dao层的四种比较)