mybatis插入數據的時候,返回該記錄的id
1
2
3
4
5
|
<insert id= "insert" keyproperty= "id" usegeneratedkeys= "true" ? parametertype= "com.demo.domain.countrateconfig" >? insert into query_rate_config (code,partner_type,search_count, booking_count, ticket_count,rate_type)? values (#{code,jdbctype=varchar},#{partnertype,jdbctype=tinyint}, #{searchcount,jdbctype=integer},? #{bookingcount,jdbctype=integer}, #{ticketcount,jdbctype=integer},#{ratetype,jdbctype=tinyint})?</insert> |
首先我們應該保證數據庫的主鍵id是自增的,另外需要設置的兩個屬性為:
keyproperty="id"
usegeneratedkeys="true"?
這樣的話,我們在插入數據之后,就可以得到插入數據之后的對象,然后通過該對象獲取該對象的id。
usegeneratedkeys=”true”
可以獲取自增長的id 只支持具有自增長方式的那種數據庫(mysql, mssql 等 但 oracle 就不支持了 )
案例如下:
1、mybatis的配置文件如上遍所示的一段代碼;
2、使用的java代碼如下:
1
2
3
4
5
6
|
@override public int insert(countrateconfig countrateconfig) { int insertnum = integer.parseint(countrateconfigmapper.insert(countrateconfig) + "" ); long id = countrateconfig.getid(); return insertnum; } |
3、上述代碼,如果插入數據成功的話,則可以找到數據庫中對應的key;
結果是正確的,即可以讀取正確的id。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
原文鏈接:https://blog.csdn.net/xlgen157387/article/details/49130803