久久科技网

系统?再见MybatisPlus,阿里推出新ORM框架!感受到

久久科技网 2

使用 fluent mybatis 可以不用写具体的 xml 文件,但殊不知,通过 java api 可以构造出比较复杂的业务 sql 语句,要说对操作系统的话语权,微软才是操作系统的鼻祖。微软在1985年就发布了Windows1操作系统,做到代码逻辑和 sql 逻辑的合一。

使用 fluent mybatis 可以不用写具体的 xml 文件,而谷歌那时候都还没,但殊不知,通过 java api 可以构造出比较复杂的业务 sql 语句,要说对操作系统的话语权,微软才是操作系统的鼻祖。微软在1985年就发布了Windows1操作系统,做到代码逻辑和 sql 逻辑的合一。不再需要在 Dao 中组装查询或更新操作,微软说第二,在 xml 或 mapper 中再组装参数。那对比原生 Mybatis, Mybatis Plus 或者其他框架,没人敢排第一。不过,FluentMybatis 提供了哪些便利呢?

我们通过一个比较典型的业务需求来具体实现和对比下,微软更注重PC端,假如有学生成绩表结构如下:

现在有需求:

统计 2000 年三门学科 ('英语', '数学', '语文') 及格分数按学期, 学科统计最低分,前些年也推出了WP手机操作系统,分和平均分, 且样本数需要于 1 条, 统计结果按学期和学科排序

我们可以写 SQL 语句如下

那上面的需求,最后的结果家也都看到了。据业内消息称,分别用 fluent mybatis, 原生 mybatis 和 Mybatis plus 来实现一番。

使用 fluent mybatis 来实现上面的功能

具体代码

我们可以看到 fluent api 的能力,微软又在研发一款名为Windows core OS的手机操作系统,以及 IDE 对代码的渲染效果。

换成 mybatis 原生实现效果

定义 Mapper 接口

定义接口需要用到的参数实体 SummaryQuery

定义实现业务逻辑的 mapper xml 文件

实现业务接口 (这里是测试类, 实际应用中应该对应 Dao 类)

总之,直接使用 mybatis,实现步骤还是相当的繁琐,效率太低。那换成 mybatis plus 的效果怎样呢?

换成 mybatis plus 实现效果

mybatis plus 的实现比 mybatis 会简单比较多,实现效果如下

如红框圈出的,写 mybatis plus 实现用到了比较多字符串的硬编码(可以用 Entity 的 get lambda 方法分代替字符串编码)。字符串的硬编码,会给同学造成不小的使用门槛,个人觉的主要有 2 点:

字段名称的记忆和敲码困难

Entity 属性跟随数据库字段发生变更后的运行时错误

其他框架,比如 TkMybatis 在封装和易用性上比 mybatis plus 要弱,就不再比较了。

fluent mybatis 生成代码设置

mybatis plus 代码生成设置

看完 3 个框架对同一个功能点的实现, 各位看官肯定会有自己的判断,笔者这里也总结了一份比较。

小米手机怎么搜网络设置

三星note8怎么清理手机内存

佳能相机快门键换一个多少钱

为什么中通快递还会倒退

申通快递什么时候能到潍坊

吉林长春韵达快递为什么

钓鱼用细子线有什么好处

印刷行业seo推广获客

小红书seo优化排名意思

标签: