mybatis如何成功插入后获取自增长的id

使用mybatis向数据库中插入一条记录,如何获取成功插入记录的自增长id呢?

需要向xml配置中加上一下两个配置:

<insert id="add" useGeneratedKeys="true" keyProperty="id" parameterType="com.work.model.ScheduleInfoTable">
    insert into scheduleInfo(title,content,time,state,userId) values(#{title},#{content},#{time},#{state},#{userId})
</insert>

其中keyProperty的值就是数据库中自增长字段名。

然后

public Object addSchedule(ScheduleInfoTable schedule){
        result.clear();
        if(service.addSchedule(schedule)){//插入记录到数据库,schedule中没有设置id的值
            result.put("success", true);
            result.put("msg", "日程记录添加成功");
            result.put("id", schedule.getId());//插入成功后,将自增长的id存入原来的model中,通过get方法就能拿到自增长的id了
            return result ;
        }

插入成功后,直接通过model的get方法就能获得自增长的id值

mybatis如何成功插入后获取自增长的id,布布扣,bubuko.com

时间: 2024-10-10 23:36:38

mybatis如何成功插入后获取自增长的id的相关文章

[转]SQL三种获取自增长的ID方法

SQL SERVER中的三种获得自增长ID的方法  这个功能比较常用,所以记下来以防自己忘掉. SCOPE_IDENTITY 返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值.一个作用域就是一个模块--存储过程.触发器.函数或批处理.因此,如果两个语句处于同一个存储过程.函数或批处理中,则它们位于相同的作用域中. IDENT_CURRENT  返回为任何会话和任何作用域中的指定表最后生成的标识值.这个函数需要一个以表名为值的变量,也就是说虽然不受会话和作用域的限制

hibernate实现分表后获取insert自增ID方法。

#第一种基于原生的JDBC的方式实现 private Integer insert(POJO entity, String table) throws SQLException { String insertSQL = "INSERT INTO " + table + " (XXXX)VALUES(?,?,?,?,?,?,?,?)"; DataSource dataSource = SessionFactoryUtils.getDataSource(getHiber

MyBatis在insert插入操作时返回主键ID的配置

转:http://www.cnblogs.com/icerainsoft/p/4648900.html 很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键. 但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数... 接下来,我们看看MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的id绑定到对象中. MySQL用法: <insert id=&qu

Mybatis中插入记录后获取该条记录ID

一.POJO public class User { private Integer userId; private String name; public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getName() { return name; } public void setName(String

SQL server插入数据后,获取自增长字段的值

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 insert into Tb_People(uname,era,amount) values( '兆周','老年','10000')   select @@identity   --当运行完插入语句后,执行select   @@identity就可得到自动生成的id   --如果是sql server 最好用select SCOPE_IDENTITY() as

jdbc连接mysql数据库执行insert语句后获取自增长的主键值

package cn.baokx; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import cn.baokx.db.DatabaseConnection0; public class Test1 { public static void main(

获取自增长的id值

单个: <insert id="create" parameterType="com.dto.Cou" useGeneratedKeys="true" keyProperty="id"> insert into t ( batch_number ) values ( #{batchNumber,jdbcType=VARCHAR} ) </insert> 通过 对象. get获取 批量插入 <ins

mybatis 做 insert操作的时候返回插入的那条数据的id

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:吃丸子的小鹿链接:http://www.zhihu.com/question/20810321/answer/16843223来源:知乎 对于支持自动生成主键的数据库(如SQL Server),可以采用以下方式 <insert id="xxx" parameterType="yyy" useGeneratedKeys="true" keyProperty="

Mybatis 插入后返回数据库自动增长ID

MySQL和MSSQL返回主键方法 在personMap.xml中 <insert id="addPerson" parameterType="orm.Person" keyProperty="id" useGeneratedKeys="true"> insert into Person (name,age,gender) values (#{name},#{age},#{gender}) </insert&