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()方法来获取。