mybatis怎么保存或更新數(shù)據(jù)

小億
242
2024-01-10 23:37:59
欄目: 編程語言

MyBatis提供了幾種方法來保存或更新數(shù)據(jù):

  1. 使用insert語句保存數(shù)據(jù): 使用<insert>標(biāo)簽定義插入語句,然后在Java代碼中調(diào)用對(duì)應(yīng)的Mapper方法來執(zhí)行插入操作。例如:

    <insert id="insertUser" parameterType="User">
      INSERT INTO user (name, age) VALUES (#{name}, #{age})
    </insert>
    
    sqlSession.insert("UserMapper.insertUser", user);
    
  2. 使用update語句更新數(shù)據(jù): 使用<update>標(biāo)簽定義更新語句,然后在Java代碼中調(diào)用對(duì)應(yīng)的Mapper方法來執(zhí)行更新操作。例如:

    <update id="updateUser" parameterType="User">
      UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>
    
    sqlSession.update("UserMapper.updateUser", user);
    
  3. 使用insert語句保存或更新數(shù)據(jù): 使用<insert>標(biāo)簽定義插入或更新語句,并使用<selectKey>標(biāo)簽來指定判斷插入或更新的條件。例如:

    <insert id="saveOrUpdateUser" parameterType="User">
      <selectKey keyProperty="id" resultType="Long" order="BEFORE">
        SELECT id FROM user WHERE name = #{name}
      </selectKey>
      <if test="id == null">
        INSERT INTO user (name, age) VALUES (#{name}, #{age})
      </if>
      <if test="id != null">
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
      </if>
    </insert>
    
    sqlSession.insert("UserMapper.saveOrUpdateUser", user);
    

以上是MyBatis中保存或更新數(shù)據(jù)的幾種方法,根據(jù)實(shí)際需求選擇適合的方法即可。

0