jeecg_scott 发表于 2013-9-9 20:07:43

MiniDao持久层 Vs Mybatis


MiniDao简介及特征
MiniDao 是Jeecg自己的持久化解决方案,易与Hibernate集成,兼备Mybaits SQL分离的优点。具有以下特征
l   O/R mapping不用设置xml,零配置便于维护l   不需要了解JDBC的知识l   SQL语句和java代码的分离l   可以自动生成SQL语句l   接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法l   对应的SQL。它会通过AOP自动生成实现类l   支持自动事务处理和手动事务处理l   支持与hibernate轻量级无缝集成l   Sql 性能优于Mybatis

Minidao &Vs Mybatis
相同点:lSQL语句与Java代码分离l支持逻辑标签

不同点:lO/R mapping不用设置xml,零配置,简单易用l只需定义接口与对应SQL,接口无需实现(Minidao自动生成实现类)l支持与hibernate轻量级无缝集成lSQL支持更强大的脚本语言,可以写逻辑处理lSql 性能优于MybatislSql支持传递多个参数Map/Object/List等包装类型(Mybatis只支持一个参数<Map/Object>)
SQL性能对比
方式一: MiniDaoSQL内容采用文件存储MiniDao Sql 耗时: 54 毫秒(SQL模板第一从文件读取,第二次从缓存读取)方法第一次执行的时候加载sql到缓存里MiniDao Sql 耗时: 4 毫秒MiniDao Sql 耗时: 4 毫秒MiniDao Sql 耗时: 5 毫秒
方式二: MiniDaoSQL内容采用@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 毫秒
MiniDao专题:https://github.com/zhangdaiscott/MiniDao技术论坛:www.jeecg.org

GIN 发表于 2013-9-9 20:57:38

碉堡了啊!!

doney 发表于 2015-10-9 14:42:34

112343333333333333

ayw 发表于 2017-10-31 11:24:14

厉害
页: [1]
查看完整版本: MiniDao持久层 Vs Mybatis