版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Xidian2850/article/details/89288221
使用<insert 中的useGeneratedKeys 和 keyProperty 两个属性
1.在Mybatis Mapper文件中添加属性 “useGeneratedKeys”和“keyProperty”,其中 keyProperty 是 Java 对象的属性名,而不是表格的字段名。
实体类:
public class Picture {
private Integer picid;
private Integer bookid;
private String coverpic;
private String briefpic1;
private String briefpic2;
private String briefpic3;
private String briefpic4;
private String detailpic1;
private String detailpic2;
private String detailpic3;
private String detailpic4;
public Integer getPicid() {
return picid;
}
public void setPicid(Integer picid) {
this.picid = picid;
}
public Integer getBookid() {
return bookid;
}
public void setBookid(Integer bookid) {
this.bookid = bookid;
}
public String getCoverpic() {
return coverpic;
}
public void setCoverpic(String coverpic) {
this.coverpic = coverpic == null ? null : coverpic.trim();
}
public String getBriefpic1() {
return briefpic1;
}
public void setBriefpic1(String briefpic1) {
this.briefpic1 = briefpic1 == null ? null : briefpic1.trim();
}
public String getBriefpic2() {
return briefpic2;
}
public void setBriefpic2(String briefpic2) {
this.briefpic2 = briefpic2 == null ? null : briefpic2.trim();
}
public String getBriefpic3() {
return briefpic3;
}
public void setBriefpic3(String briefpic3) {
this.briefpic3 = briefpic3 == null ? null : briefpic3.trim();
}
public String getBriefpic4() {
return briefpic4;
}
public void setBriefpic4(String briefpic4) {
this.briefpic4 = briefpic4 == null ? null : briefpic4.trim();
}
public String getDetailpic1() {
return detailpic1;
}
public void setDetailpic1(String detailpic1) {
this.detailpic1 = detailpic1 == null ? null : detailpic1.trim();
}
public String getDetailpic2() {
return detailpic2;
}
public void setDetailpic2(String detailpic2) {
this.detailpic2 = detailpic2 == null ? null : detailpic2.trim();
}
public String getDetailpic3() {
return detailpic3;
}
public void setDetailpic3(String detailpic3) {
this.detailpic3 = detailpic3 == null ? null : detailpic3.trim();
}
public String getDetailpic4() {
return detailpic4;
}
public void setDetailpic4(String detailpic4) {
this.detailpic4 = detailpic4 == null ? null : detailpic4.trim();
}
public Picture() {
super();
}
public Picture(Integer picid, Integer bookid, String coverpic,
String briefpic1, String briefpic2, String briefpic3,
String briefpic4, String detailpic1, String detailpic2,
String detailpic3, String detailpic4) {
super();
this.picid = picid;
this.bookid = bookid;
this.coverpic = coverpic;
this.briefpic1 = briefpic1;
this.briefpic2 = briefpic2;
this.briefpic3 = briefpic3;
this.briefpic4 = briefpic4;
this.detailpic1 = detailpic1;
this.detailpic2 = detailpic2;
this.detailpic3 = detailpic3;
this.detailpic4 = detailpic4;
}
@Override
public String toString() {
return "Picture [picid=" + picid + ", bookid=" + bookid + ", coverpic="
+ coverpic + ", briefpic1=" + briefpic1 + ", briefpic2="
+ briefpic2 + ", briefpic3=" + briefpic3 + ", briefpic4="
+ briefpic4 + ", detailpic1=" + detailpic1 + ", detailpic2="
+ detailpic2 + ", detailpic3=" + detailpic3 + ", detailpic4="
+ detailpic4 + "]";
}
}
<!-- 插入并返回主键 -->
<insert id="insertPicture" parameterType="com.hzy.domain.Picture" useGeneratedKeys="true" keyProperty="picid" >
insert into t_picture (picid, bookid, coverpic,
briefpic_1, briefpic_2, briefpic_3,
briefpic_4, detailpic_1, detailpic_2,
detailpic_3, detailpic_4)
values (#{picid,jdbcType=INTEGER}, #{bookid,jdbcType=INTEGER}, #{coverpic,jdbcType=VARCHAR},
#{briefpic1,jdbcType=VARCHAR}, #{briefpic2,jdbcType=VARCHAR}, #{briefpic3,jdbcType=VARCHAR},
#{briefpic4,jdbcType=VARCHAR}, #{detailpic1,jdbcType=VARCHAR}, #{detailpic2,jdbcType=VARCHAR},
#{detailpic3,jdbcType=VARCHAR}, #{detailpic4,jdbcType=VARCHAR})
</insert>
返回id:
@Test
public void getIdAfterInsert(){
Picture p = new Picture();
p.setCoverpic("测试以药养医");
int result = pictureMapper.insertPicture(p);
int picid = p.getPicid();
System.out.println("id---: " + picid);
}
测试结果:
id---: 84