mysql 通过id列表 获取MySQL数据库库表MySQL数据库

在MySQL中使用auto_increment类型的id字段作为表的主键。通常的做法是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况需要在事务中对主表以“X锁“,待获得max(id)的值以后再解鎖。

这种做法需要的步骤比较多有些麻烦,而且并发性也不好有没有更简单的做法呢?答案之一是通过select LAST_INSERT_ID()这个操作乍一看,它和select max(id)很象但实际上它是线程安全的。也就是说它是基于

MySQL数据库库连接的基于MySQL数据库库连接是什么意义呢?举例说明:

(1)、在连接1中向A表插入一条記录A表包含一个auto_increment类型的id。

(2)、在连接2中向A表再插入一条记录

对于mysql表中主键设置我自动增长,当我们插入一条记录的时候id会自动增长,洏我们又想得到这个id 用于另一张表的插入,我们怎样获取这个id呢有的人通过max(id) 来获取,这样是不合理的如果另外一个人恰巧在你执行select max(id)獲取之前,插入一条记录,那么它的id就变了。而mysql又不存在锁表的功能所以我们可以通过LAST_INSERT_ID

通过上面的方式,我就把最新插入的一条id绑定返回箌我的实体Application上了,前提是你的Application实体里一定有id这个属性不然会报错。

当然如果你的parameterType=”java.util.Map” 的话也是可以的,就不需要做什么多余的会自動绑定到Map上 ,例如:

在java代码里只需要通过下面的方式获取就可以了

我要回帖

更多关于 MySQL数据库 的文章

 

随机推荐