当前位置:首页>维修大全>综合>

myBatis的优缺点(mybatis流式查询优缺点)

myBatis的优缺点(mybatis流式查询优缺点)

更新时间:2024-03-09 12:02:40

myBatis的优缺点

优点

1、简单易学

mybatis本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个SQL映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

2、灵活

mybatis不会对应用程序或者数据库的现有设计强加任何影响。SQL写在XML里,便于统一管理和优化。通过SQL基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。

3、解除SQL与程序代码的耦合

通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。SQL和代码的分离,提高了可维护性。

4、提供映射标签,支持对象与数据库的ORM字段关系映射

5、提供对象关系映射标签,支持对象关系组建维护

6、提供XML标签,支持编写动态SQL

缺点

1、编写SQL语句时工作量很大,尤其是字段多,关联表多时,更是如此

2、SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库

3、框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且也不太容易适应快速数据库修改。

4、二级缓存机制不佳

  

1.优点  简单:  易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。  实用:  提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了DAO框架,可以使我们更容易的开发和配置我们的DAL层。  灵活:  通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。  功能完整:  提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。提供了DAO支持,并在DAO框架中封装了ADO.NET,NHibernate和DataMapper。  增强系统的可维护性:  通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。  

2.缺点  滞后性:  还没有明确对.NET2.0的支持。最新版本在2.0下编译可以,但有些单元测试不能通过。  不成熟,工程实践较少:  IbatisNet在实际项目中的使用较少。 只是理论上可行.  半ORM,工具支持较少:  需要我们自己写sql,并且.NET下还未发现可以自动生成业务层类和配置文件的工具,这点和NHibernate不一样,NHibernate会为我们的数据库直接产生sql,并有一些辅助工具。因此使用Ibatis比NHibernate要多做一些工作。

更多栏目