`

在iBATIS中如何获得刚插入记录的自增长ID值?

阅读更多
 <insert id="insertUser" parameterClass="User">
  	insert into t_user values (
  		null,#username#,#password#
  	)
  	<selectKey resultClass="int" keyProperty="id">
<!-- 此处不区分大小写 -->
  		SELECT @@IDENTITY AS ID
  	</selectKey>  	
  </insert>	
User user = new User();
		user.setUsername("张三");
		user.setPassword("张三密码");
		
		//如果主键是自动生成的,则其返回值可以通过<selectKey>标签来设置
		//如果不通过<selectKey>标签来设置,则返回值为空!
		//<selectKey >中的keyProperty,是指定User中的id属性,当调用结束之后,
		//user对象的id值和insert方法的返回值都是这条记录的ID值!
		Object obj  = sqlMapper.insert("insertUser", user);
分享到:
评论

相关推荐

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

    在IT行业中,数据库管理和持久化框架的使用是至关重要的,其中Ibatis作为一款轻量级的Java ORM(对象关系映射)工具,被广泛应用。本教程聚焦于Ibatis中的一个关键概念:SQL主键生成方式。主键是数据库表中用于唯一...

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

    1. **序列(Sequence)**:这是在Oracle数据库中常用的方式,通过创建一个序列对象,每次插入新记录时,序列会自动提供一个新的唯一值。在Ibatis配置中,可以通过`&lt;selectKey&gt;`标签来指定使用序列生成主键。 2. **...

    经典开源插件之ibatis

    - **创建数据库与表结构**:根据示例中的SQL语句创建名为`itcast`的数据库及`student`表,表中包括`id`(主键自增长)、`firstname`和`lastname`三个字段。 - **实体类定义**:定义一个名为`Student`的Java类,...

    Ibatis入门级教程

    在Oracle环境下,我们通常会创建一个序列对象,然后在映射文件中配置对应的主键生成策略,确保每个新插入的记录都有一个唯一的ID。 在IbatisDemo项目中,你将看到如何设置这些配置,以及如何在Java代码中调用它们。...

    iBatis_SqlMap的配置总结[1]

    - **后获取主键**:对于自动增长的主键,如MySQL,`&lt;selectKey&gt;`可以在插入语句之后配置,利用`LAST_INSERT_ID()`获取自增主键。 5. **SQL参数(ParameterClass)**: - 插入操作:`parameterClass`指定传入参数...

    Ibatis入门教程

    - 同样在`sql_map_user.xml`中定义了一个`select`元素,用于查询`t_user`表中的所有记录。 - `resultClass`属性指定了结果集映射到的类,即`User`类。 - SQL语句中通过别名`u`简化了查询语句,并将`user_name`...

    ibatis+mysql5.1的增删改查

    通常,`contactid`会被设置为自动增长,以便在插入新记录时自动生成唯一的标识。 接下来,我们需要在Ibatis的配置文件(例如:`mybatis-config.xml`)中添加数据库连接的相关配置,如数据源、驱动等,确保Ibatis...

    ibatis PPT

    iBatis 是一个由 Apache 开源组织提供的轻量级数据持久层框架,它是一个 Object-Relational Mapping(ORM)解决方案,旨在简化Java应用程序中的数据库交互。它的主要特点是小巧且易于上手,尤其适合那些需要简单但...

    SqlMapClient对象.docx

    在iBatis中,插入新记录后获取自增长ID值是非常常见的需求。`SqlMapClient`提供了一种方式,通过`&lt;selectKey&gt;`标签来实现。例如: ```xml &lt;insert id="insertUser"&gt; insert into t_user values (null, #username#,...

    SqlMapClient对象.pdf

    当插入一条新记录时,如果数据库字段(如`id`)是自动增长的,我们可以使用`&lt;selectKey&gt;`标签来获取新生成的ID值。`&lt;selectKey&gt;`标签允许我们执行一个SQL查询,如`SELECT @@IDENTITY AS ID`,该查询返回刚刚插入...

    MyBaitsPlus快速入门,阿里java技术专家面试.pdf

    在给出的示例中,`type = IdType.AUTO`表示自动增长,意味着数据库字段需要设置为自增类型。如果数据库未设置自增,插入数据时可能会抛出异常。 插入操作的示例展示了如何调用`insert()`方法向数据库中插入一条记录...

    mybatis insert返回主键代码实例

    在上面的代码中,`selectKey` 元素将获取最后插入的自动增长的主键值,并将其赋值给参数对象的 `id` 字段。 在实际应用中,我们可能需要在插入数据之后执行其他操作,例如,获取插入后的主键值,以便进行下一步的...

    Mybatis之接口式编程.doc

    在开始之前,我们需要创建一个名为`student`的数据库表,包含字段`id`(主键,自增长),`name`(姓名)和`age`(年龄)。这将作为我们的数据存储基础。 ```sql CREATE TABLE `student` ( `id` int(11) NOT NULL ...

    mybatis文档

    - MySQL:利用自增长特性,通过 SQL 语句 `SELECT LAST_INSERT_ID()` 获取最后插入行的 ID。 #### 7. 关联关系处理 - **处理方式**:支持多种关联查询方式,包括连接查询和两次查询方式。 - 一对多:使用连接...

    Mybatis分库分表扩展插件

    在当今大数据时代,随着业务量的不断增长,单个数据库的性能瓶颈日益凸显。为了解决这一问题,开发者们通常会采用数据库分库分表的策略,将数据分散到多个数据库或表中,以实现水平扩展,提高系统的处理能力和可用性...

Global site tag (gtag.js) - Google Analytics