MybatisPlusEntityWrapper如何自定义SQL
短信预约 -IT技能 免费直播动态提醒
EntityWrapper自定义SQL
在mybatis plus中根据条件构造器,构建SQL查询是很方便的,使用条件构造器可以替代我们写SQL。下面我们看几个例子。
第一种
使用T selectOne(Wrapper<T> wrapper);我们只需要传递入我们创建一个EntityWrapper()并将条件拼接好就可以。
例如new EntityWrapper().eq("id","1")就是查询id等于1的这条数据。这里不仅仅支持eq(),还有like,not like ,group by等,差不多在SQL中需要的这里都有。
第二种
在单表查询的时候我们需要自定义列的时候则使用setSqlSelect方法,具体如下:
EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);
ew.setSqlSelect("id,resource_id,user_id,username,content,createtime,parent_id," +
" path,type,like_count")
.orderBy(false,"path",false);
同第一种情况一样,后面可以继续拼接各种条件。
第三种
EntityWrapper()拼接where条件,这个其实在第二种情况中已经讲了,就是根据我们创建EntityWrapper的时候有没有入参来做。
到目前我们只用到了这些,以后遇到了我会继续更新。
MybatisPlus自定义sql查询
public void reconciliationForConfirmOne(Integer Id, Integer payoffType) {
List<FinanceReconciliationEntity> frList = financeReconciliationService.selectList(
new EntityWrapper<FinanceReconciliationEntity>()
.eq("payoff_id", Id)
.eq("payoff_type", payoffType)
.where("(reconciliation_status <> 1 OR reconciliation_status IS NULL)")
);
for (FinanceReconciliationEntity fr : frList) {
fr.setReconciliationStatus(1);
}
if (frList != null && frList.size() > 0) {
financeReconciliationService.updateBatchById(frList);
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341