MyBatis如何根据不同的条件输出不同的sql呢?
下文笔者讲述mybatis中根据不同条件输出不同sql的方法及示例分享,如下所示
在日常开发中,我们经常需要根据不同的参数拼接不同的sql
如:某字段存在值,则输出此字段进行查询
那么如何才能实现此类需求呢?下文笔者将一一道来,如下所示
我们只需在 xml中sql编写时,
借助 if 和 test关键字进行相应的判断和编写即可实现条件判断的效果
例:
mapper
public interface UserInfoMapper extends BaseMapper<UserInfo> {
list<UserInfo> queryHouses(@Param("isCity") Boolean isCity);
}
xml
<select id="queryHouses" resultType="com.xxx.xxx.entity.UserInfo">
SELECT * FROM userInfo ht
WHERE 1 = 1
<if test="!isCity">
AND ht.covered_area = 5
</if>
</select>
----输出不同的值则会输出不同的sql
isCity为false时
SELECT * FROM userInfo ht WHERE 1 = 1 AND ht.covered_area = 5
isCity为true时
SELECT * FROM userInfo ht WHERE 1 = 1
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


