MiniDao持久层 Vs Mybatis

Jeecg 发布于 2013/09/11 23:24
阅读 1K+
收藏 2

MiniDao简介及特征

 

MiniDaoJeecg自己的持久化解决方案,集成Hibernate实体维护和Mybaits SQL分离的两大优点。具有以下特征 

 

l   O/R mapping不用设置xml,零配置便于维护

不需要了解JDBC的知识

l   SQL语句和java代码的分离

可以自动生成SQL语句

l   接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法

l   对应的SQL。它会通过AOP自动生成实现类

l   支持自动事务处理和手动事务处理

l   支持与hibernate轻量级无缝集成

MiniDao整合Hibernate+mybatis的两大优势,支持实体维护和SQL分离SQL支持脚本语言

l   Sql 性能优于Mybatis
※向下兼容Hibernate实体维护方式,实体的增删改查SQL自动生成

 

 

&Vs Mybatis

 

相同点:

l  SQL语句和java代码的分离

不同点:

l  O/R mapping不用设置xml,零配置,简单易用

l  可以自动生成SQL语句

l  接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的SQL。它会通过AOP自动生成实现类

l  支持与hibernate轻量级无缝集成

l  SQL支持更强大的脚本语言,可以写逻辑处理

l  Sql 性能优于Mybatis

l  Sql支持传递多个参数Map/Object/List/包装类型都可以

Mybatis只支持一个参数<Map/Object>

 

 

 

SQL性能对比

(MiniDao  SQL内容采用文件存储)

MiniDao Sql 耗时: 54 毫秒(SQL模板第一从文件读取,第二次从缓存读取)方法第一次执行的时候加载sql到缓存里

MiniDao Sql 耗时: 4 毫秒

MiniDao Sql 耗时: 4 毫秒

MiniDao Sql 耗时: 5 毫秒

(MiniDao  SQL内容采用@Sql标签)

MiniDao Sql 耗时: 6 毫秒

MiniDao Sql 耗时: 1 毫秒

MiniDao Sql 耗时: 1 毫秒

MiniDao Sql 耗时: 2 毫秒

 (Mybatis在Sesion 初始化的时候,加载Xml到缓存里,所以第一执行比MiniDao快)

Mybatis Sql 耗时: 18 毫秒   Mybatis Session初始化的时候,加载Xml到缓存里

Mybatis Sql 耗时: 6 毫秒

Mybatis Sql 耗时: 5 毫秒

Mybatis Sql 耗时: 9 毫秒

 (Springjdbc)

Springjdbc Sql 耗时: 10 毫秒

Springjdbc Sql 耗时: 1 毫秒

Springjdbc Sql 耗时: 1 毫秒

Springjdbc Sql 耗时: 1 毫秒

 

 

技术网站:www.jeecg.org

加载中
0
藏言
藏言

一直也想做这么一个,mybatis性能貌似比之前的低了,好用是好用,不过你这个一句sql一个文件,sql管理也麻烦把,能一个文件里多个sql吗,还有sql组装的类似mybatis一句完整sql可以分及部分组合起来如是分页查询和查询总数肯定有公共部分,这部分共用维护方便

返回顶部
顶部