mapper.xml 代码
<insert id="insert" parameterType="com.Student" > <selectKey keyProperty="id" resultType="long" order="AFTER"> select last_insert_id(); </selectKey> insert into student(id,, name) values (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR});
</insert>
分析 xml
keyProperty:pojo主键的属性 resultType:pojo主键类型 order:<selectKey> 语句是在插入语句执行之前执行,还是执行之后执行 BEFORE:之前(一般 UUID 主键) AFTER:之后(一般自增的主键)
select last_insert_id();获得当前事务中,最后生成的主键
java 代码
@Override public Map addContentCategory(long id, String name) { Student s = new Student(); s.setId(id); s.setName(name); //插入到数据库(返回的主键,会自动封装到 s 里面) studentMapper.insert(s); Map map = new HashMap(); map.put("data",s); return map }