xml里的寫法
第一種方式
<insert id="saveLogin" parameterType="cn.com.zxws.pojo.LoginInfo" useGeneratedKeys="true" keyProperty="userId"> INSERT INTO LoginInfo (username,password,state,role) VALUES (#{username},#{password},#{state}, #{role}) </insert>
第二種方式
<insert id="saveLogin" parameterType="cn.com.zxws.pojo.LoginInfo"> INSERT INTO LoginInfo (username,password,state,role) VALUES (#{username},#{password},#{state}, #{role}) <selectKey resultType="Long" keyProperty="userId" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey> </insert>
service寫法:
1.錯誤的寫法:xml里面sql執行后返回的值是受影響行數,並不是具體的值
public Result saveLogin(LoginInfo user) { Long userId = loginMapper.saveLogin(user); System.out.println(userId); }
2.正確寫法
public Result saveLogin(LoginInfo user) { loginMapper.saveLogin(user); System.out.println(user.getUserId()); }
直接用之前傳入的對象的getId()方法來獲取。