<select id="likeSelect" resultType="User"> select * from `user` where <if test='#{findType}=="1"'> `name` </if> <if test="#{findType}==2"> `sex` </if> <if test="#{findType}==3"> `profession` </if> <if test="#{findType}==4"> `address` </if> <if test="#{findType}==5"> `phone` </if> <if test="#{findType}==6"> `email` </if> <if test="#{findType}==7"> `qq` </if> <if test="#{findType}==8"> `wx` </if> like '%'+#{findStr}+'%' </select>
时间: 2024-04-15 12:25:39 浏览: 146
MyBatis-03动态SQL-01.<if>元素的使用
这段代码是一个动态生成 SQL 查询语句的代码片段,根据参数 `findType` 的不同值来决定以哪个字段作为查询条件,并且使用 `like` 进行模糊匹配。`findStr` 是要查询的关键词。
具体逻辑如下:
- 当 `findType` 的值为 1 时,以 `name` 字段作为查询条件;
- 当 `findType` 的值为 2 时,以 `sex` 字段作为查询条件;
- 当 `findType` 的值为 3 时,以 `profession` 字段作为查询条件;
- 当 `findType` 的值为 4 时,以 `address` 字段作为查询条件;
- 当 `findType` 的值为 5 时,以 `phone` 字段作为查询条件;
- 当 `findType` 的值为 6 时,以 `email` 字段作为查询条件;
- 当 `findType` 的值为 7 时,以 `qq` 字段作为查询条件;
- 当 `findType` 的值为 8 时,以 `wx` 字段作为查询条件。
最后,通过拼接字符串,使用 `%` 进行模糊匹配,查询出符合条件的结果。
阅读全文