求mybatis高手 如下:当任意条件为空 那SQL语句就会变成 where and 加条件,故报错,求解决方案动态拼接
<iftest="_parameter!=null">where<iftest="mechanismCode!=null">m.mechanism_code=#{mech...
<if test="_parameter != null" >
where
<if test="mechanismCode != null" >
m.mechanism_code=#{mechanismCode}
</if>
<if test="levelId != null" >
and m.level_id=#{levelId}
</if>
<if test="provinceId != null" >
and m.province_id=#{provinceId}
</if>
<if test="cityId != null" >
and m.city_id=#{cityId}
</if>
<if test="status != null" >
and m.status=#{status}
</if>
</if> 展开
where
<if test="mechanismCode != null" >
m.mechanism_code=#{mechanismCode}
</if>
<if test="levelId != null" >
and m.level_id=#{levelId}
</if>
<if test="provinceId != null" >
and m.province_id=#{provinceId}
</if>
<if test="cityId != null" >
and m.city_id=#{cityId}
</if>
<if test="status != null" >
and m.status=#{status}
</if>
</if> 展开
展开全部
我是这样解决的:select userName from users where userId > 0 and 别的条件。如果你要通用的,也可以在这样写:
select userName from ysers where 1=1 and 条件
select userName from ysers where 1=1 and 条件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根本不是这么写的啊。。。。mybatis这个建议你去看看教程。
<isNotEmpty prepend="AND" property="year_id1">
<![CDATA[ (substr(year_id,0,4) <= #year_id1# ) ]]>
</isNotEmpty>
正常的格式是用这个自带的isNotEmpty来进行判断的
<isNotEmpty prepend="AND" property="year_id1">
<![CDATA[ (substr(year_id,0,4) <= #year_id1# ) ]]>
</isNotEmpty>
正常的格式是用这个自带的isNotEmpty来进行判断的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!-- 查询条件 -->
<sql id="Example_Where_Clause">
<trim prefix="where" prefixOverrides="and|or">
<if test="id != null">
AND t1.id = #{id}
</if>
用trim 去除 前缀第一个and 或者or
<sql id="Example_Where_Clause">
<trim prefix="where" prefixOverrides="and|or">
<if test="id != null">
AND t1.id = #{id}
</if>
用trim 去除 前缀第一个and 或者or
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用<where>标签把你的if全部包起来,把and写到if的判断里,就不会报and的sql语句错误了。我发你个博客,你去看下。网页链接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
格式是这样,每一个if格式都是这样,由于手机手打,就不写全了 <if test="mechanismCode ">
Where mechanismCode is not null and m.mechanism_code=#{mechanismCode}
Where mechanismCode is not null and m.mechanism_code=#{mechanismCode}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询