干掉XMLMapper,新出的FluentMybatis真香
使用fluent mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务sql语句,做到代码逻辑和sql逻辑的合一。
不再需要在Dao中组装查询或更新操作,在xml或mapper中再组装参数。
那对比原生Mybatis, Mybatis Plus或者其他框架,FluentMybatis提供了哪些便利呢? 需求场景设置
我们通过一个比较典型的业务需求来具体实现和对比下,假如有学生成绩表结构如下:
现在有需求:
统计2000年三门学科("英语", "数学", "语文")及格分数按学期,学科统计最低分,最高分和平均分, 且样本数需要大于1条,统计结果按学期和学科排序
我们可以写SQL语句如下
那上面的需求,分别用fluent mybatis, 原生mybatis 和 Mybatis plus来实现一番。 三者实现对比使用fluent mybatis 来实现上面的功能
具体代码:
https://gitee.com/fluent-mybatis/fluent-mybatis-docs/tree/master/spring-boot-demo/
我们可以看到fluent api的能力,以及IDE对代码的渲染效果。 换成mybatis原生实现效果
1.定义Mapper接口 public interface MyStudentScoreMapper { List