你竖兄可以看看这里,大租笑致有三种办法:
#方法一是使用last_insert_idSELECT LAST_INSERT_ID()
#方法二是使用max(id),但是不适用高并发环境余型袭下。
方法三是创建一个存储过程,在存储过程中调用先插入再获取最大值的 *** 作
#方法四使用@@identity
select @@IDENTITY
#基本MySQL的学习,可以学习这里。使用MariaDB数据库管理系统。 linuxprobe.com/chapter-18.html
#出处:
hibernate向mysql插入一条数据后,得到该条数据主键的方法。我的枝册主键是自增长的。方法举搭烂一:保存完成后,直正漏接用该实体的getId的方法就可以得到。因为保存完成后,hibernate会自动将id赋值给实体。关键代码如下:
iUserMessageDao.save(userMessage)
int id = (int) userMessage.getId()
案仔芹例:方法一
<insert
id="add"
parameterType="EStudent"
useGeneratedKeys="true"
keyProperty="id">
insert
into
TStudent(name,
age)
values(#{name},
#{age})
</insert>
useGeneratedKeys="true"
:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。
(适册乎用于mysql、sqlserver数据库,oracle不能使用,使用selectkey子节点做)
keyProperty:赋值的对象的属性名称。
方法二
<insert
id="add"
parameterType="EStudent">
//
下面是SQLServer获取最近一念姿毕次插入记录的主键值的方式
<selectKey
resultType="int"
keyProperty="id"
order="AFTER">
SELECT
LAST_INSERT_ID()
AS
id
</selectKey>
insert
into
TStudent(name,
age)
values(#{name},
#{age})
</insert>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)