pg mybatis xml 同一个字段 多个like 且的条件
时间: 2023-08-29 16:03:09 浏览: 287
在PG MyBatis XML中可以实现同一个字段多个like且条件的方法,具体实现如下:
1.在Mapper XML文件中定义一个动态SQL语句块,使用<choose>标签判断是否满足多个like条件,并将其转化为一个动态SQL片段。如下所示:
```xml
<select id="selectByLikeValues" parameterType="map" resultType="YourEntity">
SELECT *
FROM your_table
WHERE 1=1
<choose>
<when test="likeValue1 != null and likeValue1 != ''">
AND your_column LIKE #{likeValue1}
</when>
<when test="likeValue2 != null and likeValue2 != ''">
AND your_column LIKE #{likeValue2}
</when>
<when test="likeValue3 != null and likeValue3 != ''">
AND your_column LIKE #{likeValue3}
</when>
<!-- 添加更多的like条件 -->
</choose>
</select>
```
2.在Java代码中,构建一个Map对象,将需要传递的多个like条件作为键值对存入该Map中。如下所示:
```java
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("likeValue1", "%" + likeValue1 + "%");
paramMap.put("likeValue2", "%" + likeValue2 + "%");
paramMap.put("likeValue3", "%" + likeValue3 + "%");
// 添加更多的like条件
```
3.使用MyBatis的SqlSession执行上述定义的查询语句,并传入Map对象作为参数。如下所示:
```java
YourMapper mapper = sqlSession.getMapper(YourMapper.class);
List<YourEntity> resultList = mapper.selectByLikeValues(paramMap);
```
通过以上步骤,就可以实现在PG MyBatis XML中同一个字段多个like且条件的查询操作。
阅读全文