智能一代云平台(二十九):通用mapper的改造
【前言】
最近研究一下Mybatis的通用mapper,然后对其进行了一些改造以适合我们的系统,接下来为大家分享一下我的研究思路以及研究成果。
【研究之路】
一、ORM框架选型:
1、我们最近对我们的项目进行重构,关于ORM框架的选型进行了相关调研(入选我们候选之列有ORM经典框架:Hibernate和Mybatis)
2、Hibernate VS Mybatis
(1)Hibernate优缺点:
A、优点:抽象比较好,可以无缝切换不同数据源而无需改动代码;
B、缺点:学习成本高,批量操作效率低;
(2)Mybatis优缺点:
A、优点:学习成本低,批量操作效率高;
B、缺点:不支持无缝切换数据源;
(3)总结:
根据目前业务场景,各个框架的优缺点以及开发人员的水平,我们最终选用Mybatis;用Mybatis的话,逆向工程等一些东西肯定需要用上以此来加快开发;
二、如何让Mybatis也具有Hibernate的一些优点:
通过改造Mybatis让其拥有HIbernate的一些特性,我负责这块儿的研究,从网上查了些资料后发现有两种实现的方式:
1、逆向工程的思路;
2、通用mapper的思路(通用mapper的码云网站);
小结:篇幅有限,逆向工程的思路在接下来的博文中会为大家详细介绍,接下来主要为大家绍通用mapper;
三、我们项目更适合哪种:
1、通用mapper在应用到我们系统中遇到的一些问题:
在研究的过程中发现使用通用mapper需要自己做些改造来适应我们的项目,比如删除的方法,我们项目需用假删除等等;而且也会有一些潜在的坑,如果遇到需要花费一些时间去修改;
2、结合通用mapper改造我们自己写的逆向工程从而更适合我们的项目:
用我们自己写的逆向工程(参考《智能一代云平台(三十):逆向工程生成mybatis》)在我们项目实践中十分的好用;最终我们采用自己的写的逆向工程(借鉴通用mapper);
【总结】
1、在研究的过程从通用mapper中学到了一些良好的思路,比如可以将单表的增删改的一些操作直接封装到baseservice这样可以少写很多代码;
2、权衡利弊看得失,适合自己的才是最好的。
智能一代云平台(二十九):通用mapper的改造相关推荐
- 智能一代云平台(十九):选修课---类似秒杀的高并发业务
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 选课,考试,评教这三个功能是我们的云平台中的重头戏:并发高是这三个功能的一个共同特点, ...
- 智能一代云平台(十二):轮次设置
强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan [前言] 基础系统是云平台中十分重要的一个子系统,它为其他系统提供了基础数据的支撑:基础系统中有 ...
- 智能一代云平台(十):Jboss远程访问流程总结
[前言] 最近在做一个EJB相关的项目,在做的过程用到了远程调用的相关东西,自己进行一下梳理和总结,在此与大家分享. [相关流程] 一.对EJB和Jboss两者梳理: 1.小感:大多数情况下 ...
- 智能一代云平台(三十):逆向工程生成mybatis
[前言] 最近在研究mybatis逆向工程的一些东西:通过研究Mybatis+通用mapper.逆向工程生成mybatis.Hibernate+mybatis:最终综合这些优点实现了一个我们自己的逆向 ...
- 创办智能车竞赛平台,十五年无间断,育人数十万
➤01 初稿 一.竞赛简介 全国大学生智能汽车竞赛是以智能汽车为研究对象,面向全国大学生开展的复杂工程探索类别的科技竞赛,目标是提高学生的动手实践能力.探索创新兴趣.团队协作精神.它起源于2005 ...
- FreeSql (二十九)Lambda 表达式
FreeSql 支持功能丰富的表达式函数解析,方便程序员在不了解数据库函数的情况下编写代码.这是 FreeSql 非常特色的功能之一,深入细化函数解析尽量做到满意,所支持的类型基本都可以使用对应的表达 ...
- 智能一代云平台(三十一):mybatis加入分页
[前言] 在<智能一代云平台(三十):逆向工程生成mybatis>已经将mybatis的逆向工程搞定了:但是美中不足的是mybatis的分页查询:接下来一起来探索一下分页查询. [分页查询 ...
- 智能一代云平台(五):移动开发之环境搭建
[前言] 谣传最近IT领域异常火热,而IT中的移动端领域更是如日中天. 做为一名程序猿的我,也不甘Out:于是雄心勃勃参加一个智能一代云平台移动端项目开发:之前有人做了第一版,现在我们需要重构. [基 ...
- 【Microsoft Azure 的1024种玩法】二十九.基于Azure VM快速实现网络入侵检测 (IDS) 及网络安全监视 (NSM)
[简介] 数据包捕获是一个重要组件,可以实施网络入侵检测系统 (IDS) 并执行网络安全监视 (NSM). 我们可以借助开源 IDS 工具来处理数据包捕获,并检查潜在网络入侵和恶意活动的签名. 使用网 ...
最新文章
- ES权威指南[官方文档学习笔记]-14 phrase search
- Delphi常见的运行期Access Violation错误分析
- fedora在此处打开终端
- js实现图片上传预览及进度条
- 开源FastGithub
- gradle 上传jar包_Gradle学习记录014 关于依赖的声明
- 教你如何挑选深度学习GPU
- 开发微信小程序 中遇到的坑 及解决方法
- mysql 添加实例_如何在多实例基础上再添加一个mysql的实例
- SpringBoot 启动报 Stopping service [Tomcat]
- Ansible 配置Windows Update
- 前端开发之字体大小px,em,rem,pt
- 用JavaFX几个简单动画——旋转风车、运动的圆
- python 采用to_csv保存数据不覆盖原有数据到文件中
- 总结下ThinkPHP的代码审计方法
- 利用人工智能和进化分析,绘制出真核生物的蛋白质之间相互作用的3D模型
- HDU - 5976 Detachment(逆元)
- 配置coredns解析公网域名
- 学生管理系统V1.0
- DNF自动启停服务端备份数据