编译错误

<!-- 查询所有的数据 分页-->
  <select id="findPageMarriage" parameterType="map" resultMap="UserVoResultMap">
  	select s_user.*,s_usertype.UserType,s_usertype.ParameterID 
  	from s_user inner join s_usertype  on s_user.UserTypeID=s_usertype.UserTypeID 
	<choose>
	    <when test="findname!=null">
	        where (s_user.UserNumber LIKE "%#{findname}%") 
			or (s_user.UserName LIKE "%#{findname}%") 
			or (s_usertype.UserType LIKE "%#{findname}%")
	    </when>
	    <otherwise>where 1=1</otherwise>
	</choose>
  	limit #{startIndex},#{limit};
  </select>
 

以上代码运行报错如下,解决办法之一
在这里插入图片描述

 <!-- 查询用户记录总数 -->
  <select id="queryTotalRow" parameterType="map" resultType="int">
     select COUNT(1) from s_user inner join s_usertype  on s_user.UserTypeID=s_usertype.UserTypeID 
	     <choose>
	     	<when test="findname!=null">
		     	where (s_user.UserNumber LIKE "%#{findname}%") 
				or (s_user.UserName LIKE "%#{findname}%") 
				or (s_usertype.UserType LIKE "%#{findname}%")
			</when>
			<otherwise>where 1=1</otherwise>
	      </choose>
  </select>
<!-- 使用#时,Mybatis在动态解析阶段会将参数解析为一个参数占位符?,
	    而使用$时,直接进行了参数替换。  在某些情况下,使用#{}会造成sql预编译错误 -->
<!-- if else 用法   其中choose为一个整体  when是if  otherwise是else -->
<!-- 查询所有的数据 分页-->
  <select id="findPageMarriage" parameterType="map" resultMap="UserVoResultMap">
  	select s_user.*,s_usertype.UserType,s_usertype.ParameterID 
  	from s_user inner join s_usertype  on s_user.UserTypeID=s_usertype.UserTypeID 
	<choose><!-- if else 用法   其中choose为一个整体  when是if  otherwise是else -->
	    <when test="findname!=null">
	        where (s_user.UserNumber LIKE "%${findname}%") 
			or (s_user.UserName LIKE "%${findname}%") 
			or (s_usertype.UserType LIKE "%${findname}%")
	    </when>
	    <otherwise>where 1=1</otherwise>
	</choose>
  	limit #{startIndex},#{limit};
  </select>
  <!-- 查询用户记录总数 -->
  <select id="queryTotalRow" parameterType="map" resultType="int">
     select COUNT(1) from s_user inner join s_usertype  on s_user.UserTypeID=s_usertype.UserTypeID 
	     <choose>
	     	<when test="findname!=null">
		     	where (s_user.UserNumber LIKE "%${findname}%") 
				or (s_user.UserName LIKE "%${findname}%") 
				or (s_usertype.UserType LIKE "%${findname}%")
			</when>
			<otherwise>where 1=1</otherwise>
	      </choose>
  </select>

在这里插入图片描述

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值