<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>
<insert id="addUser" parameterType="com.hotel3.model.User"> <selectKey keyProperty="userId" keyColumn="userId" resultType="int" order="AFTER"> select last_insert_id(); </selectKey> INSERT INTO USER (userName,userPassword,userType) VALUES(#{userName},#{userPassword},#{userType}); </insert>
結果:java
==> Preparing: INSERT INTO USER (userName,userPassword,userType) VALUES(?,?,?); ==> Parameters: Not_Copy(String), 222222(String), null <== Updates: 1 ==> Preparing: select last_insert_id(); ==> Parameters: <== Total: 1
結論:select last_insert_id(); 將插入數據的主鍵返回到 user 對象中。session
<delete id="deleteInOrderById" parameterType="java.lang.String" > delete from inorder where inId = #{inId,jdbcType=VARCHAR} </delete>
@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");
}
public int OverInOrder(@Param("inIds") String[] inIds, @Param("status") String status, @Param("modifiedBy") String modifiedBy);
<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>
<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>
<select id="getRoom" resultType="XXX.model.Room"> select * from room where roomId like CONCAT('%',#{roomId},'%' ) </select>
待續。。。app
關於SQL查詢的技巧還有不少,像<where>和<selectKey>等。。。ide
待續。。。spa