最近在用mybatis做sql发现使用动态sql,可以有效的减少开发量,效率比较高
1. <update id="updateTable" parameterType="com.Entity.TestEntity"> update test <trim prefix="set" prefixOverrides=","> <if test="column1!=null" > A_column1=#{column1} </if> <if test="column2!=null" > ,A_column2=#{column2} </if> <if test="column3!=null and column3!='' "> ,A_column3=#{column3} </if> </trim> where A_column4 = #{column4} </update> 2. <trim prefix="where" prefixOverrides="and |or">
trim元素的主要功能是可以在自己包含的内容前加上某些前缀或某些后缀,与之对应的属性是prefix和suffix;可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOverrides。
if元素的test属性很容易理解,如果test的值为true则显示标签中的值。
代码1处,实现了自动去判断(非常简单的判断)哪些值需要更新
代码2处,同样可以在where条件中实现and或者or的动态拼接