小编是一个开发菜鸟,今天在写insert语句时踩了一个坑,特地前来记录。同时也供供各位看官参考借颖腩衤趟鉴。如果想和小编讨论,欢迎留言关注。更多记录,如下,传送门开启。
工具/原料
idea或者其它开发工具
电脑
一、插入语句返回主键
1、首先,小编犯的第一个错误,先查询id,后返回构造对象,然后插入数据库。这种写法在高并发环境下容易造成错误。比如,同时有多个人对该数据进行操作,返回了一个id后,A插入了数据。这是B得到的足毂忍珩id就会于数据库中的数据发生冲突。
2、所以我们正确的写法是能一步操作好的,一定不要分开步骤进行操作。如下:
3、然后在service及其实现类和DAO成中,写上对应的方法。
二、后台Sql编写
1、一般我们在插入时返回主键,需要用到selectKey方法,小编的selectKey方法是根据序列获取的ID,同时也有主键自增类型的。小编先给出一个示例,如下:
2、最后,我们通过controller调试验证了能成功返回ID,如下:
3、如果该经验对您有所帮助,别忘了点赞,投票哦!