在sql优化中,一般不允许直接使用select*from ,如果是全字段查询就需要写上所有的字段,这时候就可以
查询条件优化
<sql id="Base_Column_List"> userMainId, userPassword, authtype, modifyPwdTime, modifyPwdFlag, OpenId, VerifyCode </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from bug_LoginUser where userMainId = #{userMainId,jdbcType=VARCHAR} </select>
在使用sql片段时使用include标签通过sql片段的id进行引用,sql片段的ID在当前空间必须为唯一的
where条件
当然,sql片段中也可以写其他的内容,只要符合语法规范都是可以的。如下:
<sql id="sql_where"> <trim prefix="WHERE" prefixoverride="AND | OR"> <if test="id != null">AND id=#{id}</if> <if test="name != null and name.length()>0">AND name=#{name}</if> <if test="gender != null and gender.length()>0">AND gender=#{gender}</if> </trim> </sql>
<select id="updateByKey" parameterType="Map" resultType="List"> select * from user <include refid="sql_where"> </select>
总结
利用sql标签就可以将一些常用的sql进行复用