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
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。