mybatis+mysql insert添加數據後返回數據主鍵id

方法1:根據useGeneratedKeys獲取返回值,部分數據庫不支持java

修改mybatis xmlmysql

 <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.entity.user">
    insert into test (name) values (#{name})
 </insert>

useGeneratedKeys="true" :設置是否使用JDBC的getGenereatedKeys方法獲取主鍵並賦值到keyProperty設置的領域模型屬性中。(適用於mysql、sqlserver數據庫,oracle不能使用,使用selectkey子節點作)sql

keyProperty:賦值的對象的屬性名稱。數據庫

添加完成後,直接根據對象屬性取值。mybatis

user u=new user();
u.setName("測試");
System.out.println(u.getId()+"取值前");
int num = userService.insert(u);
System.out.println(u.getId()+"取值後");

 

方法2:根據selectkey獲取oracle

 <insert id="insertUser"  parameterType="com.entity.user">
     insert into test (name) values (#{name})
      <selectKey keyProperty="id" resultType="java.lang.Integer">
      select LAST_INSERT_ID() as id
      </selectKey>
    </insert>

 

後臺代碼不變。sqlserver

原文:https://blog.csdn.net/shuaipu813/article/details/52755808 測試

相關文章
相關標籤/搜索