MyBatis获取插入记录的自增长字段值

第一步:

在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!

<insert id="insert" parameterType="Spares"
        useGeneratedKeys="true" keyProperty="id">
        insert into spares(spares_id,spares_name,
            spares_type_id,spares_spec)
        values(#{id},#{name},#{typeId},#{spec})
    </insert>  

第二步:

Mybatis执行完插入语句后,自动将自增长值赋值给对象Spares的属性id。因此,可通过Spares对应的getter方法获取!

/**
 * 新增备件
 * @author hellostory
 * @param spares
 * @return
 */
@RequestMapping(value = "/insert")
@ResponseBody
public JsonResponse insert(Spares spares) {
    int count = sparesService.insert(spares);
    System.out.println("共插入" + count + "条记录!"
            + "\n刚刚插入记录的主键自增长值为:" + spares.getId());
时间: 2024-11-04 23:12:58

MyBatis获取插入记录的自增长字段值的相关文章

Mybatis获取插入记录的自增长ID(转)

1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. [html] view plain copy print? <insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> i

Mybatis获取插入记录的自增长ID

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下:  <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">       insert 

Mybatis获取插入记录主键

<insert id="createUser" parameterType="cn.User" useGeneratedKeys="true" keyProperty="userId"> INSERT INTO user(name,create_time,remark,create_user_id) VALUE(#{name,jdbcType=VARCHAR},NOW(),'new user',#{createUs

初学JDBC,获取插入记录的主键、执行批量操作

一.获取插入记录主键值 在创建语句的地方使用Statement.RETURN_GENERATED_KEYS标识一下,然后通过getGeneratedKeys方法获得 preparedStatement=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); preparedStatement.excuteUpdate(); resultSet=preparedStatement.getGeneratedKeys();//主键有可能有

在Derby中取得刚刚插入的“递增”类型的字段值

现在才发现采用不同的数据库,对写程序影响很大. 以前常用SQL Server2000或Access,可能是因为都是Microsoft公司的产品,所以在从不同的平台转换的时候问题不是很大. 现在采用Derby数据库的时候,发现在程序中写之前的写法有明显的不同. 下面是在Derby中取得刚刚插入的“递增”类型的字段值的一个例子: st.execute("insert into zd(name,pass,description,isforbid)values('" + theUserName

使用LINQ获取List列表中的某个字段值

使用LINQ获取列表中的某个字段值,下面以获取员工列表中的编号字段为例子. 1.使用Select方法 1 List<Emplayee> emplayeeList = GetEmplayeeList(); //获取员工信息列表 2 int[] empIds = emplayeeList.Select(a => a.Id).ToArray(); //获取员工编号数组 2.使用ForEach方法 1 List<Emplayee> emplayeeList = GetEmplayee

MyBatis:获取插入记录的自增主键

我们知道MySql中主键可以设成auto_increment,也就是自增主键,每当新增一条记录,主键值自动加1. 在MyBatis中,执行insert,返回值为受影响的语句行数,此操作跟JDBC一致. 但是如果应用中需要将插入的值的主键返回时,这时有两种方式: 第一种方式:在mapper的insert节点中添加useGeneratedKey和keyProperty属性 第二种方式:在mapper的insert节点下添加selectKey子节点的方式 下面是具体的使用方式举例: 一.MySql中m

mybatis如何获取插入记录后的自增ID

场景: 很多时候, 我们设置数据库表字段为自增, 有些业务需要插入之后,获取到自增后的ID进行业务处理. 方法: 在配置文件中加入 useGeneratedKeys="true" keyProperty="id" useGeneratedKeys 表示使用自增ID, keyProperty表示主键的属性名, 也就是java类中的实体名称 插入之后,通过实体getID() 方法获取到自增ID, 代码如下: Admin admin = adminService.getB

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