一、普通的插入代码思考:
INSERT INTO batch_task_group_status (batch_no, task_code, group_code, group_lev, start_time, end_time, status, execute_time, create_user, create_time, update_user, update_time ) VALUES (#{batchNo,jdbcType=VARCHAR}, #{taskCode,jdbcType=VARCHAR}, #{groupCode,jdbcType=VARCHAR}, #{groupLev,jdbcType=DECIMAL}, #{startTime,jdbcType=CHAR}, #{endTime,jdbcType=CHAR}, #{status,jdbcType=VARCHAR}, #{executeTime,jdbcType=DECIMAL}, #{createUser, jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR} )
二、带有标示符的SQL语句
prefix : 给<trim>包裹的sql语句加上前缀。
suffix : 给<trim>包裹的sql语句加上后缀。
prefixOverrides : 如果<trim>包裹的sql语句 if 判断为空,取消指定的前缀,如where.
suffixOverrides : 如果<trim>包裹的sql语句 if 判断为空,取消指定的后缀,如and | or. 逗号等
suffixOverrides="," --》代表去掉最后的 ' , '(逗号)
prefixOverrides="AND |OR" prefixOverrides="," --》代表去掉最前面的逗号 、 and 或者 or
<insert id="insertSelective" parameterType="com.csii.loan.common.model.batch.BatchTaskGroupStatus"> INSERT INTO batch_task_group_status <trim prefix="(" suffix=")" suffixOverrides=","> <if test="batchNo != null"> batch_no, </if> <if test="taskCode != null"> task_code, </if> <if test="groupCode != null"> group_code, </if> <if test="groupLev != null"> group_lev, </if> <if test="startTime != null"> start_time, </if> <if test="endTime != null"> end_time, </if> <if test="status != null"> status, </if> <if test="executeTime != null"> execute_time, </if> <if test="createUser != null"> create_user, </if> <if test="createTime != null"> create_time, </if> <if test="updateUser != null"> update_user, </if> <if test="updateTime != null"> update_time, </if> </trim> <trim prefix="VALUES (" suffix=")" suffixOverrides=","> <!--如果if包含的语句为空,则取消后面的逗号--> <!--整个trim的前缀和后缀 是 “values(” 和 “ ) ”--> <if test="batchNo != null"> #{batchNo,jdbcType=VARCHAR}, </if> <if test="taskCode != null"> #{taskCode,jdbcType=VARCHAR}, </if> <if test="groupCode != null"> #{groupCode,jdbcType=VARCHAR}, </if> <if test="groupLev != null"> #{groupLev,jdbcType=DECIMAL}, </if> <if test="startTime != null"> #{startTime,jdbcType=CHAR}, </if> <if test="endTime != null"> #{endTime,jdbcType=CHAR}, </if> <if test="status != null"> #{status,jdbcType=VARCHAR}, </if> <if test="executeTime != null"> #{executeTime,jdbcType=DECIMAL}, </if> <if test="createUser != null"> #{createUser,jdbcType=VARCHAR}, </if> <if test="createTime != null"> #{createTime,jdbcType=VARCHAR}, </if> <if test="updateUser != null"> #{updateUser,jdbcType=VARCHAR}, </if> <if test="updateTime != null"> #{updateTime,jdbcType=VARCHAR}, </if> </trim> </insert>