獲取MyBatis的insert、update、delete的返回值,insert返回自增主鍵


insert的返回值

insert標簽沒有resultType屬性,返回boolean或者插入成功的數量(行數),執行失敗則報錯,不會返回

<insert id="test" parameterType="Dept">
        INSERT INTO dept(dname,db_source) VALUES(#{dname},DATABASE());
</insert>
<insert id="test" parameterType="java.util.List">
  INSERT INTO dept(dname,db_source) VALUES
    <foreach collection="list" item="dept" separator=",">
      (#{dept.dname},DATABASE())
    </foreach>
</insert>

接口返回值類型可以是如下兩種

public Integer test(Dept dept);
public boolean test(Dept dept);

如果是自增型的數據庫,可以返回自增后的主鍵,如下:

<insert id="test" parameterType="Dept" useGeneratedKeys="true" keyProperty="deptno" keyColumn="deptno">
  INSERT INTO dept(dname,db_source) VALUES(#{dname},DATABASE());
</insert>
public Object test(Dept dept) {
    Object o= dao.test(dept);
    System.out.println("dept.getDeptno(): "+dept.getDeptno());//此處會輸出插入后的主鍵
    return o;
}

update的返回值

update標簽沒有resultType屬性,返回boolean或者符合執行條件的數量(行數),執行失敗則報錯,不會返回

<update id="test" parameterType="Dept">
    update dept set db_source='123' where dname=#{dname};
</update>

接口返回值類型可以是如下兩種

public Integer test(Dept dept);
public boolean test(Dept dept);

delete的返回值

delete標簽沒有resultType屬性,返回boolean或者符合執行條件的數量(行數),執行失敗則報錯,不會返回

<delete id="test" parameterType="Dept">
    delete from dept where dname=#{dname}; </update>

接口返回值類型可以是如下兩種

public Integer test(Dept dept);
public boolean test(Dept dept);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM