你可以在MyBatis的Mapper XML文件中这样定义插入操作: <insertid="insertUser"useGeneratedKeys="true"keyProperty="id">INSERT INTO user (name, email) VALUES (#{name}, #{email})</insert> 在这个例子中,useGeneratedKeys="true"告诉MyBatis使用数据库生成的主键,而keyProperty="id"则告诉MyBatis将生成的主键值...
<insert id="add"parameterType="EStudent"><selectKey keyProperty="id"resultType="_long"order="BEFORE">selectCAST(RANDOM*100000asINTEGER)aFROMSYSTEM.SYSDUMMY1</selectKey>insert intoTStudent(id,name,age)values(#{id},#{name},#{age})</insert 注意:mapper接口返回值依然是成功插入的记录数,但不同的...
BEFORE 表示 SELECT LAST_INSERT_ID() 在insert执行之前执行,这样的话就拿不到主键了, 这种适合那种主键不是自增的类型 resultType 主键类型--><selectKeykeyProperty="id"order="AFTER"resultType="java.lang.Integer">SELECT LAST_INSERT_ID()</selectKey>insert into t_user (username,password,create_date) val...
目录insert实体如何返回主键一、insert 属性详解二、Mapper接口三、执行mapper.xml 返回主键四、测试结果六、批量插入七、小结一下Mybatis添加记录,返回主键id insert实体如何返回主键 一、insert 属性详解 parameterType:入参的全限定类名或类型别名 keyColumn:设置数据表自动生成的主键名。对特定数据库(如PostgreSQL),若...
mybatis中Insert后主键返回 1.Mapper的写法,返回的这个int是受影响的行号 int insertNewUser(User newUser); 1. 2.xml的写法 <!--返回主键 形式1 --> <insert id="saveReturnPK1" parameterType="cn.lyn4ever.bean.User" useGeneratedKeys="true" keyProperty="id">...
insert into t_user (username,password,create_date) values(#{username},#{password},#{createDate}) </insert> 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 2 接口 UserDao /** * 新增用户信息,并得到新增数据的主键
insert语句,在mapper中 : /** * 添加用户 * @param userInfo */publicIntegerinsertUserGetKey(UserInfo userInfo); 说明: 这里我犯了误区,之前记得会返回主键,但忘记怎么返回了,一直以为这里返回值是自增主键,但一直输出1,这里的Integer返回的是成功插入的记录数, 而不是自增id。
使用useGeneratedKeys生成主键时,不能在DAO层使用@Param注解传递参数,否则无法获取主键。 ///Dao层对应的代码 不能使用 @Param注解传递参数 /// Long savNewUser(@Param("user") User user); Long savNewUser( User user); ///Mapper对应的映射层 <insert id="add" useGeneratedKeys="true" keyProperty="id"...
keyColumn:设置为数据库记录的主键id字段名称 2、新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段设置为POJO对象的主键id属性 调用时: roomCheckInfoMapper.insertSelective(roomCheckInfo);intrciId=roomCheckInfo.getRciId();System.out.println("插入返回的主键为"+ro...