Ibatis中isNotNull和isNotEmpty的区别使用

isNotNull和isNotEmpty的区别使用

做到一个需求,需要写一个动态的update语句:但是在为空选择上感到疑惑:就是该选择 isNotNull 还是 isNotEmpty ;

<update id="updateSubstationTicketThreeDynamic">
		UPDATE TABLE_THREE
		<dynamic prepend="set">
			<isNotNull prepend="," property="sttStatus">
				STT_STATUS = #sttStatus#   
			</isNotNull>
			<isNotNull prepend="," property="drawer">
				DRAWER = #drawer#   
			</isNotNull>
			<isNotNull prepend="," property="ptDate">
				PT_DATE = #ptDate#   
			</isNotNull>


			//或者是isNotEmpty的
			<isNotEmpty prepend="," property="sttStatus">
				STT_STATUS = #sttStatus#   
			</isNotEmpty>
			<isNotEmpty prepend="," property="drawer">
				DRAWER = #drawer#   
			</isNotEmpty>
			<isNotEmpty prepend="," property="ptDate">
				PT_DATE = #ptDate#   
			</isNotEmpty>

	
		</dynamic>
		WHERE
		STT_ID = #sttId#

	</update>

通过测试下来得到:

isNotNull比较适用于修改语句,因为中间涉及到**“将已经存在值得字段清空的需求”**,而在这一个条件下,
	isNotNull只会过滤掉null,会将空白字符串传到数据库进行处理;
	isNotEmpty不但会过滤null,还会过滤调空白字符串,适合做非空的动态条件判断操作
发布了37 篇原创文章 · 获赞 29 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42755868/article/details/87347001
今日推荐