mybatis转义符

  • Post author:
  • Post category:其他

XML转移符

这种方式看起来将不会太直观

符号 转义 说明
> > 大于
< &lt; 小于
& &amp;
&apos; 单引号
&quot; 双引号

<![CDATA[ ……]]>

这种方式看起来就会直观很多

  1. 大于等于 <![CDATA[ >= ]]>
  2. 小于等于 <![CDATA[ <= ]]>

示例

<select id="getAgentList" resultType="com.wht.demo.dao.vo.AgentVo">  
	select 
		t.node_id as nodeId,
		t.host_name as hostName,
		t.address_ip as addressIp
	from 
	t_node_agent t 
	<where> 
		<if test='appId !=null and appId != "" '>
			and t.app_id= #{appId}  
		</if>
		<if test='osType!=null and osType!= "" '>
			and t.os_type= #{osType}  
		</if>
		<if test="createTime!= null and createTime!= ''">
		     and create_time >= #{createTime}
		</if>
	</where>
</select> 

这种动态SQL编译就会报错,XML解析不了>号,按照上面转移符改造即可。

<select id="getAgentList" resultType="com.wht.demo.dao.vo.AgentVo">  
	select 
		t.node_id as nodeId,
		t.host_name as hostName,
		t.address_ip as addressIp
	from 
	t_node_agent t 
	<where> 
		<if test='appId !=null and appId != "" '>
			and t.app_id= #{appId}  
		</if>
		<if test='osType!=null and osType!= "" '>
			and t.os_type= #{osType}  
		</if>
		<if test="createTime!= null and createTime!= ''">
		     and create_time <![CDATA[ >=]]> #{createTime}
		</if>
	</where>
</select> 

版权声明:本文为weixin_38280568原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。