在ibatis和mysql環境下使用insert如何獲取返回值


  1. 配置xml文件中的sql語句,insert語句默認是有返回值的,用於標記此次插入是否成功。而如果需要其他返回值,則需要進行進一步的設置。

  以如下代碼為例:

1     <insert id="insertAndGetId" parameterClass="Vnet_stack" >  
2         insert into
3         vnet_stack(stack_name)
4         values(#stack_name#)
5         <selectKey resultClass="int" keyProperty="stack_id" >
6             SELECT LAST_INSERT_ID()
7         </selectKey>
8         
9     </insert>

其中設置了返回值類型resultClass為整數類型,keyProperty設置數據源。

之后通過一條簡單的嵌套查詢語句可以查詢到新添加的最新的行,取keyProperty設置的條目作為返回值

 

  2. 在dao層中添加函數

  

1     @Override
2     public int insertAndGetId(Vnet_stack ss) {
3         // TODO Auto-generated method stub
4         return Integer.parseInt(String.valueOf(getSqlMapClientTemplate().insert("Vnet_stack.insertAndGetId",ss)));
5         
6     }

 

  之后調用函數即可得到需要的主鍵id作為返回值了。

 


免責聲明!

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



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