跳到主要内容

MinidaoVsMybatis

Minidao与Mybatis对比分析

相同点:

  • SQL语句和java代码的分离

不同点:

  • O/R mapping不用设置xml,零配置,简单易用
  • 接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的SQL。它会通过AOP自动生成实现类
  • 支持与hibernate轻量级无缝集成
  • SQL支持更强大的脚本语言,可以写逻辑处理
  • SQL性能优于Mybatis
  • 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 毫秒

  • (Spring jdbc) Springjdbc Sql 耗时: 10 毫秒

Springjdbc Sql 耗时: 1 毫秒

Springjdbc Sql 耗时: 1 毫秒

Springjdbc Sql 耗时: 1 毫秒