mybatis 1 - 获取自增ID

1、环境:

mybatis : 3.2.3

spring-mybatis:  1.2.1

mysql:5.5.29

实体:

public class sys_user {
    private int userid;

    private String username;

    public int getUserid() {
        return userid;
    }

    public void setUserid(Integer userid) {
        this.userid = userid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username == null ? null : username.trim();
    }

insert 节点配置:

  <insert id="insert" parameterType="com.mamaguwen.entity.sys_user"   useGeneratedKeys="true" keyProperty="userid">

<!--    <selectKey keyProperty="userid" resultType="int" order="BEFORE">
         SELECT LAST_INSERT_ID()  as  userid
     </selectKey> -->
    insert into sys_user ( UserName)
    values (#{username})

  </insert>

keyProperty:对应为实体字段值

调用代码:

sys_UserDao.insert(model);
System.out.println("getUserid:"+ model.getUserid());

时间: 2024-10-29 19:05:52

mybatis 1 - 获取自增ID的相关文章

MyBatis获取自增ID

使用MyBatis进行insert操作时获取自增ID可以使用以下方法,在*.xml文件夹中添加以下配置信息即可: keyProperty="对应主键的对象" useGeneratedKeys="true" useGeneratedKeys这个只有insert语句生效,useGeneratedKeys默认为false,当useGeneratedKeys为true时,如果插入的表id以自增列为主键时,将会返回自增的id,数据插入之后可以直接通过传入的对象获取自增的id

Entity Framework添加记录时获取自增ID值

var m = new 你的Model(); db.你的Model.add(m); db.SaveChange(); Response.Write(m.Id); //执行.SaveChange()保存后就直接可以取得id值了. 保存前没有id值. Entity Framework在将数据插入数据库时,如果主键字段是自增标识列,会将该自增值返回给实体对象对应的属性. 比如下面添加博客随笔至数据库的示例代码: var blogPost = new BlogPost() { Author = "博客园

MYSQL获取自增ID的四种方法

厚积!! 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变. 在多用户交替插入数据的情况下max(id)显然不能用.这时就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基 于 Connection的,只要每个线程都使用独立的 Connection对象,LAST_INSER

MyBatis 批量插入获取自增 id 问题解决

问题: 通过 MyBatis 进行批量插入时,如果我们想获取插入对象所对应的主键 id,做法是直接在 <insert> 标签中直接加入 useGeneratedKeys.keyProperty,如下: Mapper 如下: 但当我们单测时,会报错,如下: 解决: <foreach> 标签中的 collection 字段设置为 list,并将 Mapper 中的 @Param 删除,或改为 @Param("list") 即可

【转】mybatis 获取自增id

转自:http://www.cnblogs.com/rhythmK/p/4047142.html 1.环境: mybatis : 3.2.3 spring-mybatis:  1.2.1 mysql:5.5.29 实体: public class sys_user { private int userid; private String username; public int getUserid() { return userid; } public void setUserid(Intege

mybatis 获取自增ID

<insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd) values(#{name},#{pswd}) </insert>插入前实体id属性为0:插入后实体id属性为保存后自增的id:

mybatis新增数据时获取自增id

在insert的标签里加两个属性:useGeneratedKeys="true"         keyProperty="patentId"   ,这个keyProperty的patentId就是我们要返回的主键id 原文地址:https://www.cnblogs.com/yxj9536/p/11214998.html

mysql 获取自增id的值的方法

原生jdbc方式: Statement.getGeneratedKeys() 示例: Statement stmt = null; ResultSet rs = null; try { // // Create a Statement instance that we can use for // 'normal' result sets assuming you have a // Connection 'conn' to a MySQL database already // availab

通过rest接口获取自增id (twitter snowflake算法)

1.  算法介绍 参考 http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8%87%AA%E5%A2%9Eid%E7%AE%97%E6%B3%95%E8%AF%A6%E8%A7%A3/ Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同. Sno