Minidao Vs Mybatis === ### &Vs 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 毫秒