MyBatis取得新插入数据的ID

xiaoxiao2021-02-28  113

通常需要取得新插入数据的ID,可以通过一下方式来实现

方式一:

[html]  view plain  copy <insert id="doCreate" parameterType="Address" useGeneratedKeys="true" keyProperty="id">       INSERT INTO Address(UId,LinkName,Address,Phone,Remark,Time,ZipCode)       VALUES(#{uid},#{linkName},#{address},#{phone},#{remark},now(),#{zipCode})   </insert>  

方式二:

[html]  view plain  copy <insert id="doCreate" parameterType="Address" >       <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >        SELECT @@IDENTITY       </selectKey>       INSERT INTO Address(UId,LinkName,Address,Phone,Remark,Time,ZipCode)       VALUES(#{uid},#{linkName},#{address},#{phone},#{remark},now(),#{zipCode})   </insert>  

注意程序里取得address.getId()即可取到插入数据的自增ID,而不是取得sql执行的返回值。

Dao层接口

1 void  insert( @Param ( "user" ) User user);

五、Service层实现

1 2 3 4 5 6 7 @Override public  void  insert() {      User user =  new  User();      user.setName( "zain" );                    dao.insert(user);       System.out.println(user.getUserId);  //发现ID已经获取了 }
转载请注明原文地址: https://www.6miu.com/read-42070.html

最新回复(0)