mybatis新增返回id,mybatisplus添加返回id
00-1010 1.插入数据获得自增主键2情况下的自增主键值,获得非自增主键3情况下的主键值,总结keyColumn的作用。
目录
mybatis为我们提供了一种方法,在插入数据时获取自动生成的值,并将该值赋给实体类的一个属性。
设置方法:
要求:主键必须是自增的。
insert= insert usegeneratedkeys= true key property= id SQL语句/insertsegeneratedkkeys=true//返回自增主键值
property=" XXX "//将值赋给哪个属性?该属性在方法参数中。
此时,实体类指向。可以获得插入数据的getId()。
00-1010一般由我们执行。只能有一个街区。
让我们看看selectKey中的属性
ResultType:这个不用解释,返回类型
顺序:它有两个值:1。添加前的查询,2。添加后查询。//这两个值都是大写的。
KeyProperty:将值赋给方法参数。如果方法参数是一个实体类,它通常被赋给实体类的字段。
KeyColumn:对应表的列名
selectKey中必须有resultType,order,keyProperty。
示例之后:查询最后添加的主键
insert id= insert MP select key result type= integer order= after key property= Eid select last _ insert _ id()//查询最后添加的主键,mysql function/select key insert into dept(Id,deptname) values (# {Id},# {deptname})/insertbefore示例:假设Id不是自增长的,我们想在插入前获取MySQL的UUID,并将其作为主键Id添加到数据表中。
insert id= insert dept select key result type= string order= BEFORE key property= id select uuid()as id/select key insert into dept(id,name) values(#{id},#{name})/insert
00-1010问题定义:有时候,当我们希望keyProperty返回的数超过1时,在插入数据时可以返回多个值吗?
1.将selectKey的结果赋给keyProperty的每个属性。
2.赋值规则:keyProperty和keColumn的列数对应:1对1,2对2…
在“keyProperty=id,name keyColumn=cid,cname select cid,cname之前插入id= XXX select key result type= com . entity . dept order=从类别限制1中选择cid,cname。/selectKey insert into dept(id,name) values (#{id},#{name}) /insert!-代码解释:从类别中查询cid,将cname赋给方法参数,然后添加到dept表中-
00-1010关于mybatis插入数据后如何返回新添加的数据id值的这篇文章到此结束。关于mybatis返回新添加的数据id值的更多信息,请搜索Popular IT之前的文章或继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。