原创

Java-ValuesUtil-实体中字段拼接逗号处理-解决like模糊查询的准确性问题-重写get-set方法

package cn.jiangjiesheng.edu.utils;

import org.apache.commons.lang3.StringUtils;

/**
* 实体中字段拼接逗号处理-get-set方法
* db实体用set,dto用get(是否用set待定),Vo用get
* 总体期望是落库是 ,1,2,3, 形式,查询结果是 1,2,3 形式
* 解决 数据库中 有一行数据为 3,13 , 使用like查询3,得到2条记录,
* 如果使用上述方案,落库为 ,3,13, 使用like查询,3, 必然得到1条结果
*/
public class ValuesUtil {

/**
* 多选情景的字段处理
* 写:前后加上逗号
* @param valueWithoutComma
* @return
*/
public static String handleSetValue(String valueWithoutComma) {
if (StringUtils.isBlank(valueWithoutComma)) {
return valueWithoutComma;
}
if (!valueWithoutComma.startsWith(",")) {
valueWithoutComma = "," + valueWithoutComma;
}
if (!valueWithoutComma.endsWith(",")) {
valueWithoutComma = valueWithoutComma + ",";
}
return valueWithoutComma.replaceAll(",,",",");
}

/**
* 多选情景的字段处理
* 读:把前后的逗号去掉
* @param valueWithComma
* @return
*/
public static String handleGetValue(String valueWithComma) {
if (StringUtils.isBlank(valueWithComma)) {
return valueWithComma;
}
if (valueWithComma.startsWith(",")) {
valueWithComma = valueWithComma.substring(1);
}
if (valueWithComma.endsWith(",")) {
valueWithComma = valueWithComma.substring(0, valueWithComma.length() - 1);
}
return valueWithComma.replaceAll(",,",",");
}

// public static void main(String[] args) {
// String set = "1,2,,44";
// System.out.println(handleSetValue(set));
// String get = "56,,7,65";
// System.out.println(handleGetValue(get));
// }
}
正文到此结束
本文目录