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   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 毫秒

MiniDao专题:http://zhangdaiscott.github.io/MiniDao/

Jeecg专题:http://zhangdaiscott.github.io/jeecg/

技术论坛:www.jeecg.org

MiniDao持久层 Vs Mybatis相关推荐

  1. Springboot2集成minidao持久层

    Springboot2集成minidao持久层 这里采用springboot版本号: 2.0.4.RELEASE minidao已经提供自定义starter,集成非常简单,直接pom引入minidao ...

  2. java持久层用文件_Java持久层框架MyBatis简单实例

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .本文 ...

  3. mybatis generator 中文注释_[SpringBoot2.X] 23- 整合持久层技术 -MyBatis - 配置

    整合MyBatis 1搭建项目环境 1.1.1创建项目--略 11.2修改POM文件,添加相关依赖 <dependency><groupId>org.springframewo ...

  4. Java数据持久层框架 MyBatis之背景知识一

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  5. java持久层框架mybatis如何防止sql注入

    2019独角兽企业重金招聘Python工程师标准>>> sql注入大家都不陌生,是一种常见的攻击方式,攻击者在界面的表单信息或url上输入一些奇怪的sql片段,例如"or ...

  6. SpringBoot配置Druid数据源,持久层分别 mybatis,jdbc

    Druid与mybatis整合: application.yaml 配置参数文件 spring:datasource:#driver-class-name: com.mysql.jdbc.Driver ...

  7. 优秀的持久层框架-Mybatis(上)

    文章目录 前言 一.MyBatis概述 1.1传统JDBC编程 1.2 mybatis的历史 1.3 mybatis是什么? 1.4如何使用? 1.5Mybatis架构 二. MyBatis环境搭建 ...

  8. SSM持久层框架MyBatis,看这一篇就够了

    前言: 此篇仅为个人初期学习笔记,如有错误,请xd们指正 你这么好看,还.... MyBatis 前言 一.MyBatis简介 二.搭建MyBatis项目 1. 开发环境 2. 创建maven工程 3 ...

  9. Spring 从入门到精通 (二十) 持久层框架 MyBatis

    关键词:Spring | 整合 | 持久层 | MyBatis 本专栏通过理论和实践相结合,系统学习框架核心思想及简单原理,原创不易,如果觉得文章对你有帮助,点赞收藏支持博主 ✨ 目录 一.MyBat ...

最新文章

  1. 使用了这个神器,让我的代码bug少了一半
  2. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...
  3. plsql 参数中in out in的区别讲解
  4. [转] 大连理工大学部分有效FTP列表1.0
  5. 在ElasticSearch之下(图解搜索的故事)
  6. 动画性能优化-requestAnimationFrame、GPU等
  7. LeetCode 802. 找到最终的安全状态(逆向图+拓扑排序)
  8. CI/CD(持续集成构建/持续交付):如何测试/集成/交付项目代码?(Jenkins,TravisCI)
  9. ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法
  10. iframe调用父页面方法_5.1 vue中子组件调用父组件的方法,务必理解自定义事件的重要性...
  11. 数据分析不能落地?快来围观,学会数据分析应用,一起升职加薪
  12. java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端...
  13. EXCEL 制作下拉选项,限制输入内容范围
  14. c语言饭卡管理系统_C语言饭卡管理系统(附代码) -
  15. Java中自定义比较器
  16. [程序人生] [随笔感悟] -- 2018,我的博客年
  17. js 校验字符串是否为数字和字母组合
  18. Eclipse 提示内存不足
  19. window系统杀死进程方法
  20. 【原理+实战+视频+源码】抖音,快手大热背后——Android 贴心的音视频学习指南来咯!

热门文章

  1. python defaultdict 简单了解
  2. 数据结构之串:KMP算法
  3. (王道408考研数据结构)第六章图-第三节:图的遍历(DFS和BFS)
  4. 9-3:C++多态之多态的实现原理之虚函数表,虚函数表指针静态绑定和动态绑定
  5. 动态规划问题中最长公共子序列---C语言实现
  6. Linux系统编程:lseek扩展文件大小失败原因分析
  7. es6笔记 day3---Promise
  8. Mysql 学习之 SQL的执行顺序
  9. SSL 1624——小萨的烦恼【最短路】【枚举】
  10. Linux Kernel File IO Syscall Kernel-Source-Code Analysis(undone)