`
lwlsoftware
  • 浏览: 5247 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ibatis 插入数据返回自增主键

阅读更多

< insert   id = "insertUserByName" >   

     insert into user_account  

              (username,groupname,passsword)  

              Values(#name#,#group#,#pwd#)  

  < selectKey   resultClass = "int"   keyProperty = "id"   >   

         SELECT @@IDENTITY AS id  

 </ selectKey >     

 </ insert >   

 

或者使用:1、LAST_INSERT_ID

             2、select max(id) from table (多线程环境不适应)

LAST_INSERT_ID基于Connection的,只要每个线程都使用独立的Connection对象,LAST_INSERT_ID函数将返回该Connection对AUTO_INCREMENT列最新的insert or update操作生成的第一个record的ID。这个值不能被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁。

分享到:
评论

相关推荐

    08_ibatis教程_sql主键生成方式.rar

    这是最基础的方式,开发者在插入数据前预先生成主键值,然后将这个值传递给Ibatis。这种方式适用于已知主键生成规则或者有独立主键生成服务的情况。 2. **序列(Sequence)**: 在Oracle等支持序列的数据库中,...

    08_ibatis教程_sql主键生成方式.zip

    Ibatis可以直接在插入语句中生成并赋值给主键字段。 在实际开发中,选择哪种主键生成方式应根据数据库类型、并发量以及业务需求来决定。Ibatis提供的灵活性使得开发者可以根据具体情况自由配置,从而优化性能和简化...

    08_传智播客ibatis教程_sql主键生成方式

    这段配置表示在插入用户后,使用MySQL的`LAST_INSERT_ID()`函数获取自增主键的值,并将其赋给User对象的id属性。 通过学习“08_传智播客ibatis教程_sql主键生成方式”,开发者能够熟练掌握如何在Ibatis中配置和使用...

    ibatis 中sqlMap配置

    对于MySQL等支持自增主键的数据库,`&lt;selectKey&gt;`通常配置在插入语句之后,用于获取新插入记录的自增主键。 5. **SQL输入参数(ParameterClass)**: 在SQL语句中,通过`parameterClass`属性指定输入参数的类型。...

    iBatis_SqlMap的配置总结[1]

    - 自增主键:对于有自增主键的表,插入操作时通常不需要显式配置主键列。否则,你需要明确指定所有字段,包括主键。 - 获取主键:在插入操作后,可以通过`&lt;selectKey&gt;`标签来获取新生成的主键。例如,在Oracle或...

    ibaits配置总结[参考].pdf

    而对于MySQL等支持自增主键的数据库,通常在插入语句后配置`&lt;selectKey&gt;`,如`SELECT LAST_INSERT_ID()`,以获取新插入行的主键。 **参数类(Parameter Class)**在iBatis中扮演着重要角色。插入语句的参数可以是类...

    ibatis_sqlMap的配置总结

    对于MySQL这样的自增主键数据库,则可以在插入语句之后通过`LAST_INSERT_ID()`来获取新生成的主键值: ```xml SELECT LAST_INSERT_ID() insert into ... ``` #### 五、SQL参数传递 iBatis提供了多种方式...

    ibatis批处理

    此外,`&lt;selectKey&gt;`标签用于在插入后获取自增主键的值,这对于某些数据库系统(如MySQL)是必要的。 总的来说,iBatis的批处理功能通过在代码和配置文件中灵活运用循环,使得开发者能够有效地处理大批量数据操作,...

    MybatisPlus中插入数据后获取该对象主键值的实现

    通过设置`IdType.AUTO`,MybatisPlus会在插入数据时自动处理数据库的自增ID,然后将生成的主键值返回给插入的对象。无论是通过Service层的`saveOrUpdate`方法还是Mapper层的自定义`insert`方法,都能轻松实现这一...

    IBATISDAO库类操作

    - **插入操作**:`insert()`方法用于将一个对象插入到数据库中,它会自动处理主键生成策略,如果表有自增主键,IBATIS会自动填充。 - **更新操作**:`update()`方法用于更新已存在的记录,它需要传入待更新的对象,...

    ibatis持久层简单操作

    - `&lt;insert&gt;`:插入记录,使用`useGeneratedKeys`和`keyProperty`获取自增主键。 - `&lt;update&gt;`:更新记录。 - `&lt;delete&gt;`:删除记录。 4. **Mapper接口** - 为了方便Java代码的调用,可以创建一个对应的Mapper...

    ASP.NET MVC+iBatis+SQL

    在MvcIbatis项目中,这些查询可能用于检索、插入、修改或删除"Test"表中的数据。 3. **参数绑定**:在iBatis映射文件中,可以使用占位符绑定动态参数,实现SQL语句的参数化,提高安全性并防止SQL注入。 综上所述,...

    ibatis文档

    对于需要自增主键的表,SQLMap支持通过`&lt;id&gt;`元素配置自动获取生成的主键。 #### 存储过程 除了标准的SQL语句,SQLMap还支持调用数据库存储过程。 #### ParameterClass和ParameterMap `ParameterClass`定义了传入...

    ibatis的sql-map dtd

    3. `&lt;insert&gt;`:定义了一个插入语句,包含ID、parameterMap、resultMap、statementType等属性,可能还包括useGeneratedKeys和keyProperty等用于处理自增主键的设置。 4. `&lt;update&gt;`:定义了一个更新语句,同样有ID、...

    ibatis常见案例

    例如,插入操作可以通过`&lt;insert&gt;`标签完成,其中的`parameterType`指定传入参数的类型,`useGeneratedKeys`和`keyProperty`用于获取自增主键的值。 ```xml INSERT INTO users (username, password) VALUES (#{...

    ibatis环境搭建教程

    - **&lt;selectKey&gt;`**:用于生成主键,在某些数据库中可能需要在插入记录前先获取自增主键值。 - **&lt;insert&gt;`**:定义插入操作,可以与`parameterMap`结合使用以支持复杂的参数传递。 - **&lt;resultClass&gt;`**:定义查询...

    Mybatis-plus实现主键自增和自动注入时间的示例代码

    这样,在插入数据时,Mybatis-plus 将自动生成主键的值。 接下来,我们可以使用 `@TableField` 注解来指定自动注入时间: ```java @Data @AllArgsConstructor @NoArgsConstructor public class User { @TableId...

    ibatis 增删改查(DB2版本)

    - **增加(Insert)**:使用`&lt;insert&gt;`标签定义插入操作,包括主键自增策略等。 - **删除(Delete)**:`&lt;delete&gt;`标签用于定义删除操作,可以基于特定条件执行。 - **更新(Update)**:`&lt;update&gt;`标签用于更新...

Global site tag (gtag.js) - Google Analytics