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 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相关推荐
- Springboot2集成minidao持久层
Springboot2集成minidao持久层 这里采用springboot版本号: 2.0.4.RELEASE minidao已经提供自定义starter,集成非常简单,直接pom引入minidao ...
- java持久层用文件_Java持久层框架MyBatis简单实例
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .本文 ...
- mybatis generator 中文注释_[SpringBoot2.X] 23- 整合持久层技术 -MyBatis - 配置
整合MyBatis 1搭建项目环境 1.1.1创建项目--略 11.2修改POM文件,添加相关依赖 <dependency><groupId>org.springframewo ...
- Java数据持久层框架 MyBatis之背景知识一
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- java持久层框架mybatis如何防止sql注入
2019独角兽企业重金招聘Python工程师标准>>> sql注入大家都不陌生,是一种常见的攻击方式,攻击者在界面的表单信息或url上输入一些奇怪的sql片段,例如"or ...
- SpringBoot配置Druid数据源,持久层分别 mybatis,jdbc
Druid与mybatis整合: application.yaml 配置参数文件 spring:datasource:#driver-class-name: com.mysql.jdbc.Driver ...
- 优秀的持久层框架-Mybatis(上)
文章目录 前言 一.MyBatis概述 1.1传统JDBC编程 1.2 mybatis的历史 1.3 mybatis是什么? 1.4如何使用? 1.5Mybatis架构 二. MyBatis环境搭建 ...
- SSM持久层框架MyBatis,看这一篇就够了
前言: 此篇仅为个人初期学习笔记,如有错误,请xd们指正 你这么好看,还.... MyBatis 前言 一.MyBatis简介 二.搭建MyBatis项目 1. 开发环境 2. 创建maven工程 3 ...
- Spring 从入门到精通 (二十) 持久层框架 MyBatis
关键词:Spring | 整合 | 持久层 | MyBatis 本专栏通过理论和实践相结合,系统学习框架核心思想及简单原理,原创不易,如果觉得文章对你有帮助,点赞收藏支持博主 ✨ 目录 一.MyBat ...
最新文章
- 使用了这个神器,让我的代码bug少了一半
- (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...
- plsql 参数中in out in的区别讲解
- [转] 大连理工大学部分有效FTP列表1.0
- 在ElasticSearch之下(图解搜索的故事)
- 动画性能优化-requestAnimationFrame、GPU等
- LeetCode 802. 找到最终的安全状态(逆向图+拓扑排序)
- CI/CD(持续集成构建/持续交付):如何测试/集成/交付项目代码?(Jenkins,TravisCI)
- ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法
- iframe调用父页面方法_5.1 vue中子组件调用父组件的方法,务必理解自定义事件的重要性...
- 数据分析不能落地?快来围观,学会数据分析应用,一起升职加薪
- java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端...
- EXCEL 制作下拉选项,限制输入内容范围
- c语言饭卡管理系统_C语言饭卡管理系统(附代码) -
- Java中自定义比较器
- [程序人生] [随笔感悟] -- 2018,我的博客年
- js 校验字符串是否为数字和字母组合
- Eclipse 提示内存不足
- window系统杀死进程方法
- 【原理+实战+视频+源码】抖音,快手大热背后——Android 贴心的音视频学习指南来咯!
热门文章
- python defaultdict 简单了解
- 数据结构之串:KMP算法
- (王道408考研数据结构)第六章图-第三节:图的遍历(DFS和BFS)
- 9-3:C++多态之多态的实现原理之虚函数表,虚函数表指针静态绑定和动态绑定
- 动态规划问题中最长公共子序列---C语言实现
- Linux系统编程:lseek扩展文件大小失败原因分析
- es6笔记 day3---Promise
- Mysql 学习之 SQL的执行顺序
- SSL 1624——小萨的烦恼【最短路】【枚举】
- Linux Kernel File IO Syscall Kernel-Source-Code Analysis(undone)