第一 用序列
SELECT SEQUENCE_1.NEXTVAL FROM DUAL
insert into SFY_HAZARD_ANALYSIS
HAZARD_ID,
HAZARD_TIME,
HAZARD_TITLE,
HAZARD_MEASURE,
BUILD_ID,
#{hazardId,jdbcType=INTEGER},
#{hazardTime,jdbcType=VARCHAR},
#{hazardTitle,jdbcType=VARCHAR},
#{hazardMeasure,jdbcType=VARCHAR},
#{buildId,jdbcType= INTEGER},
上面就能实现,当你在java中往数据库中插入一个对象,即一条数据时,可以获取主键值,如下所示
@RequestMapping(value = "/addConstruManageInfo")
@ResponseBody
public Result addConstruManageInfo(SfyBuild sfyBuild){
System.out.println("查看传入的值====================================="+JSONObject.fromObject(sfyBuild).toString());
System.out.println("===========================================================输入前主键值"+sfyBuild.getBuildId());//NULL
int rows = sfyConstruManageService.insert(sfyBuild);
System.out.println("===========================================================输入后主键值"+sfyBuild.getBuildId());//数值
第二种 guid
select SYS_GUID() as userId from DUAL
insert into T_USER(userId,userName,birthday,sex,address) values (#{userId},#{userName},#{birthday},#{sex},#{address})
以下是mysql中获取插入数据主键的配置方法
insert into TStudent(name, age) values(#{name}, #{age})