运维开发网

浅谈实体包装的使用

运维开发网 https://www.qedev.com 2022-05-18 16:55 出处:网络
这篇文章主要介绍了关于EntityWrapper的in用法详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

这篇文章主要介绍了关于EntityWrapper的in用法详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


EntityWrapper的in用法EntityWrapperlt;UserLifegt; wrapper = new EntityWrapperlt;gt;();wrapper.eq("is_valid", 1);wrapper.in("life_name", "ge,edu,career");Listlt;UserLifegt; userLabelList = userLabelService.selectList(wrapper);

in的第二个参数可以是字符串,也可以是列表,但要注意quot在字符串中,quot中间不能有空,否则会被查出来的说法是这样的。



mybatis-plus EntityWrapper in

环境:

跳羚+mybatis

源代码:

? ? ? ? /**? ? ?* lt;pgt;? ? ?* IN 条件语句,目前适配mysql及oracle? ? ?* lt;/pgt;? ? ?*? ? ?* @param column 字段名称? ? ?* @param value ?匹配值 集合? ? ?* @return this? ? ?*/? ? public Wrapperlt;Tgt; in(String column, Collectionlt;?gt; value) {? ? ? ? return in(true, column, value);? ? }? ??? ? /**? ? ?* lt;pgt;? ? ?* IN 条件语句,目前适配mysql及oracle? ? ?* lt;/pgt;? ? ?*? ? ?* @param condition 拼接的前置条件? ? ?* @param column ? ?字段名称? ? ?* @param value ? ? 匹配值 集合? ? ?* @return this? ? ?*/? ? public Wrapperlt;Tgt; in(boolean condition, String column, Collectionlt;?gt; value) {? ? ? ? if (condition amp;amp; CollectionUtils.isNotEmpty(value)) {? ? ? ? ? ? sql.WHERE(formatSql(inExpression(column, value, false), value.toArray()));? ? ? ? }? ? ? ? return this;? ? }

如果条件不通过,则相当于:条件:真;

如果传递的值不是空,相当于将in查询语句改为拼接;


举个例子?? ?//代码? ? @Override? ? public Listlt;Usergt; selectByCaseIdSet(Setlt;Stringgt; idSet) {? ? ? ? EntityWrapperlt;Usergt; wrapper = new EntityWrapperlt;gt;();? ? ? ? wrapper.in(!CollectionUtils.isEmpty(idSet), "id", idSet);? ? ? ? return this.selectList(wrapper);? ? }/**?* 如果idSet 为空,sql: select * from user??* 如果idSet 不为空, sql: select * from user where id in (idSet)?** /

以上个人经验,希望能给你一个参考

0

精彩评论

暂无评论...
验证码 换一张
取 消