新增插入一条数据后,不论数据库是否支持主键自增,如果需要获取当前已经增加的那条数据的主键用什么方法 ?
1、数据库支持主键自增可以用下面方法
<insert id="addUser" parameterType="user"
keyProperty="uid" useGeneratedKeys="true">
INSERT INTO users(uid,uname,uage) values(#{uid},#{uname}#{uage});
</insert>
2、数据库不支持主键自增:
<insert id="addUser" parameterType="com.itheima.pojo.User">
<selectKey keyProperty="uid" resultType="Integer" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO users(uid,uname,uage) values(#{uid},#{uname}#{uage});
</insert>
<insert id="addUser" parameterType="com.itheima.pojo.User">
<selectKey keyProperty="uid" resultType="Integer" order="BEFORE">
SELECT FLOOR(RAND()*1000+1)
</selectKey>
INSERT INTO users(uid,uname,uage) values(#{uid},#{uname}#{uage});
</insert>
|