Mybatis the generated SQL skills

 First, by 

<insert id="addInOrder" parameterType="XXX.model.InOrder">
        INSERT INTO inorder
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="inId != null and inId !=''" >
        inId,
      </if>
      <if test="gender != null and gender !=''" >
        gender,
      </if>
      <if test="modifiedDate != null and modifiedDate !=''" >
        modifiedDate,
     </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="inId != null and inId !=''" >
        #{inId,jdbcType=VARCHAR},
      </if>
      <if test="gender != null and gender !=''" >
        #{gender,jdbcType=INTEGER},
      </if>
      <if test="modifiedDate != null and modifiedDate !=''" >
        #{modifiedDate,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>

Second, delete

  <delete id="deleteInOrderById" parameterType="java.lang.String" >
    delete from inorder
    where inId = #{inId,jdbcType=VARCHAR}
  </delete>

Third, reform

  Controller level value code transmission:

   @PostMapping("/OverInOrder")
    @ResponseBody
    @Transactional
    public Message OverInOrder(@RequestParam(value = "InIds[]")String[] InIds, HttpSession session){

        User user= (User)session.getAttribute("loginUser");
        inOrderService.OverInOrder(InIds,"结单",user.getUserName());
       
        return new Message("", "success");
    }

  DAO level code:

public int OverInOrder(@Param("inIds") String[] inIds, @Param("status") String status, @Param("modifiedBy") String modifiedBy);

  Mapper XML file:

<update id="OverInOrder" parameterType="java.lang.String">
    update inorder
    <set >
      <if test="status != null and status !=''" >
        status=#{status,jdbcType=VARCHAR},
      </if>
      <if test="modifiedBy != null and modifiedBy !=''" >
        modifiedBy=#{modifiedBy,jdbcType=VARCHAR},
      </if>
      modifiedDate= SYSDATE(),
      outTime= SYSDATE()
    </set>
    WHERE inId IN
    <foreach collection="inIds" item="inId" index="index" open="(" close=")" separator=",">
      #{inId}
    </foreach>
  </update>

Fourth, check

<select id="getInOrderAll" resultType="XXX.model.InOrder" parameterType="XXX.model.InOrder">
        select * from inorder
    <trim prefix="where 1=1" suffix=" "  suffixOverrides="," >
      <if test="inId != null and inId !=''" >
        and inId=#{inId,jdbcType=VARCHAR}
      </if>
      <if test="gender != null and gender !=''" >
        and gender=#{gender,jdbcType=INTEGER}
      </if>
      <if test="inTime != null and inTime !=''" >
        and inTime>=#{inTime,jdbcType=VARCHAR}
      </if>
    </trim>
    ORDER BY createrDate DESC;
  </select>

 

Tips on SQL queries, there are many, like <where> and <selectKey> and so on. . .

to be continued. . .

Guess you like

Origin www.cnblogs.com/mww-NOTCOPY/p/11788164.html