mybatis拼接条件查询
方法1:
java代码:
// 会员编号
if(StringUtil.isNotEmpty(viewDo.getMemberId())){
String memberId = viewDo.getMemberId().replaceAll("'", "");
if(memberId.indexOf(",") != -1){
String[] arr = memberId.split(",");
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
spellMemberId.append("");
}
spellMemberId.append("'" + arr[i].trim() + "'");
if (i != arr.length - 1) {
spellMemberId.append(",");
}
if (i == arr.length - 1) {
spellMemberId.append("");
}
}
}else {
spellMemberId.append("'" + memberId.trim() + "'");
}
}
或者
//大订单
if (StringUtil.isNotNullAndBlank(orderAuditDTO.getWtOrderInfoID())) {
String orderInfoId=orderAuditDTO.getWtOrderInfoID().replaceAll("'", "");
if(orderInfoId.indexOf(" or") != -1){
String[] array = orderInfoId.split(" or");
for (int i = 0; i < array.length; i++) {
if (i == 0) {
spellStrOfOrderId.append("( ");
}
spellStrOfOrderId.append(" t.WLT_ORDER_INFO_ID = '" + array[i].trim() + "' ");
if (i != array.length - 1) {
spellStrOfOrderId.append(" or ");
}
if (i == array.length - 1) {
spellStrOfOrderId.append(" )");
}
}
} else {
spellStrOfOrderId.append("( t.WLT_ORDER_INFO_ID= '" + orderInfoId.trim() + "' )");
}
}
xml代码:
<if test="memberId != null and memberId!=''" >
and mem.member_id in (${memberId})
</if>
方法2:
java代码:
第一步:if(StringUtils.isBlank(orderids)) throw new Exception("审核记录不能为空");
String ids[]=orderids.split(",");
Map<String,String> parm=new HashMap<String, String>();
for(String i:ids){
if(StringUtils.isNotBlank(i)){
String s[]=i.split(":");
parm.put(s[0], s[1]);
}
}
第二步:
List<String> ids=new ArrayList<String>();
Iterator<String> it=parm.keySet().iterator();
while(it.hasNext()){
ids.add(it.next());
}
xml代码:
in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
案例:
<!-- 查询交易号 -->
<select id="queryTxnNoBySubOrderId" parameterClass="java.util.List"
resultClass="java.lang.String">
select TXN_NO from wltdata.wlt_txn_order_rela
<isPropertyAvailable property="subOrderIdList">
<isNotNull property="subOrderIdList"
prepend=" WHERE SUB_ORDER_INFO_ID in ">
<iterate property="subOrderIdList" conjunction=","
close=")" open="(">
#subOrderIdList[]#
</iterate>
</isNotNull>
</isPropertyAvailable>
</select>