利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
程序员文章站
2024-03-11 23:16:13
第一步:
在mybatis mapper文件中添加属性“usegeneratedkeys”和“keyproperty”,其中keyproperty是java对象的属性名!...
第一步:
在mybatis mapper文件中添加属性“usegeneratedkeys”和“keyproperty”,其中keyproperty是java对象的属性名!
<insert id="insert" parametertype="spares" usegeneratedkeys="true" keyproperty="id"> insert into spares(spares_id,spares_name, spares_type_id,spares_spec) values(#{id},#{name},#{typeid},#{spec}) </insert>
第二步:
mybatis执行完插入语句后,自动将自增长值赋值给对象spares的属性id。因此,可通过spares对应的getter方法获取!
/** * 新增备件 * @param spares * @return */ @requestmapping(value = "/insert") @responsebody public jsonresponse insert(spares spares) { int count = sparesservice.insert(spares); system.out.println("共插入" + count + "条记录!" + "\n刚刚插入记录的主键自增长值为:" + spares.getid());
另一种方法:
<insert id="insert" parametertype="person"> <selectkey keyproperty="id" resulttype="long"> select last_insert_id() </selectkey> insert into person(name,pswd) values(#{name},#{pswd}) </insert>
插入前实体id属性为0;
插入后实体id属性为保存后自增的id;