您的位置:首页 > 其它

Mybatis中insert方法返回 新增主键id

2015-12-24 00:00 525 查看
摘要: 通过mapping新增记录时,通常返回的成功与否,被传来的实体,不能获得创建后对应的id,可以修改mapping中create方法来使实体获得创建后的id

1.controller里面构建实体,去数据库新增记录

advert.setStatus(1);
........            //给实体advert中的各个字段赋值
int result = advertService.createdAdvert(advert);
if(result==1){
//下面这个方法用到被创建的实体advert
ScheduleJob jobStart = scheduleJobManager.creatScheduleAdStart(advert);

如果creatScheduleAdStart方法用到advert数据库表中创建后自增的id,这里是不会取到的

2.修改Mapping

<insert id="created" parameterType="Advert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO
<include refid="tb" />
(
<include refid="cols_exclude_id" />
)
VALUES
(
<include refid="vals" />
)
</insert>

在mapping中,对id="created"的insert加上keyProperty="id" useGeneratedKeys="true" 这两个参数,就可以让

int result = advertService.createdAdvert(advert);

调用这个方法的同时,更新实体advert,让advert获得表记录新增后自增的id

注意:这种方法传入的类型,也就是parameterType要是Map或者是对应的类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: