MiniDao持久层 Vs Mybatis
MiniDao简介及特征
MiniDao是Jeecg自己的持久化解决方案,集成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