All Downloads are FREE. Search and download functionalities are using the official Maven repository.

template.mysql.update.updateSomeByPkIgnoreNullEmpty.ftl Maven / Gradle / Ivy

There is a newer version: 0.0.5
Show newest version
<#-- 修改若干条数据,忽略为空的属性 -->

UPDATE ${tableName!}


	<#-- 如果入参的 key 名称 或者 要修改的对象实例为空,则不修改任何一条数据库数据 -->
	
		
			<#-- 设置所有的值为原值 -->
			<#list columns as column>
			`${column.column!}`=`${column.column!}`<#if column_has_next>,
			
		
		<#-- 设置修改条数为 0 -->
		LIMIT 0
	
	
	<#-- 入参不为空的情况 -->
	
		
    		
				<#-- 遍历所有主键,获取指定的主键,使之能生成 mapper.xml 中的 case `key` 结构语句,如果入参key的值是所操作数据库表的主键字段名的话 -->
		    	<#list pkColumns as pkColumn>
	    		
	    			<#list unPkColumns as unPkColumn>
	    			`${unPkColumn.column!}` = 
	    			
						when  
							${"#\{bean."}${pkColumn.property}${"}"} 
						then 
							
								<#-- 入参属性值不为空 -->
								
									${"#\{bean."}${unPkColumn.property}${"}"}
								
								<#-- 入参属性值为空 -->
								
									`${unPkColumn.column!}`
								
							
					
					<#if unPkColumn_has_next>,
	    			
	    		
		    	

				<#-- 入参key的值不是所操作的数据库表的主键字段名  -->
				
					<#list pkColumns as pkColumn>
					`${pkColumn.column!}`=`${pkColumn.column!}`
					<#break>
			    	
				
    		
		
		
		
			<#-- 主键值作为修改条件 -->
			<#list pkColumns as pkColumn>
			
				`${pkColumn.column!}` IN
				(
					
						${"#\{bean."}${pkColumn.property}${"}"}
					
				)
			
			
		
		
		<#-- 如果传入的“key”值不是真实存在的主键字段名,则不修改数据 -->
    	
			<#list pkColumns as pkColumn>
			
			
			
			
			LIMIT 0
			
    	
	




© 2015 - 2025 Weber Informatics LLC | Privacy Policy