`

ibatis insert数据时返回新数据的id

阅读更多
  
<insert id="insertUser" parameterClass="userDo" >
  	<![CDATA[
  		INSERT INTO T_USER (
  			NAME,
  			SEX)
  		VALUES (
  			#name#,
  			#sex#
  		)
  	]]>
  	<selectKey resultClass="int" keyProperty="id" > 
	      SELECT @@IDENTITY AS ID 
	</selectKey>
</insert>

在使用ibatis插入一条新数据时,往往希望返回新数据的id,使用以上办法,能够在数据插入数据库后返回新数据的id。
<selectKey resultClass="int" keyProperty="id" > 
	      SELECT @@IDENTITY AS ID 
</selectKey>



!!!但是当使用批量插入时,就无法返回新插入的id了!!!


!! 使用以上方法,会使得插入后的Domain对象的id被设置为新插入的id值,大部分情况我们是希望这样做的。当然也有例外,当我们不想得到这样的结果时,我们可以去掉keyProperty=“id”这部分,这样既可以以结果的形式返回插入的id,又不会自动设置我们的Domain对象的id !!
分享到:
评论

相关推荐

    ibatis实现数据的操作

    在使用Ibatis时,首先需要配置数据源,这是通过DataSource接口实现的,常见的实现有Apache的DBCP和C3P0等。接着,我们需要创建SqlSessionFactory,它是Ibatis的核心工厂类,用于创建SqlSession对象。SqlSession对象...

    iBATIS操作Oracle CLOB数据

    2. **插入操作**:当向包含CLOB字段的表插入数据时,可以使用`&lt;sql&gt;`和`&lt;insert&gt;`标签,通过`&lt;bind&gt;`或`&lt;param&gt;`来传递CLOB值。例如: ```xml &lt;insert id="insertWithClob" parameterType="map"&gt; INSERT INTO ...

    ibatis 注解配置文件

    Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它允许我们编写SQL语句并将其与Java对象绑定,从而简化了数据访问层的开发。在传统的XML配置文件中,Ibatis允许我们定义SQL语句、参数映射以及结果集映射。然而...

    ibatis的使用教程

    例如,使用 `sqlMapClient.queryForObject(id, parameter)` 执行查询,`sqlMapClient.insert(id, parameter)` 插入数据等。 **Ibatis API** Ibatis 提供了一些基本的API,如查询、添加、删除和修改方法。通常,会...

    Ibatis3.0 增删改查(三)

    在Ibatis中,插入数据通常通过`&lt;insert&gt;`标签实现。开发者需要定义一个SQL映射,指定SQL语句和参数,例如: ```xml &lt;insert id="insertStudent" parameterType="com.example.Student"&gt; INSERT INTO students(name,...

    ibatis配置文件模板

    在实际开发中,Ibatis允许通过动态SQL来构建灵活的查询,比如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;where&gt;`、`&lt;set&gt;`等标签,使得SQL能够在运行时根据条件动态生成,大大提高了代码的可维护性和复用性。...

    iBatis执行非查询语句(CRUD,函数和过程)

    iBatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码直接结合,提供了灵活的数据访问接口。这篇博客“iBatis执行非查询语句(CRUD,函数和过程)”深入探讨了如何在iBatis中执行创建、读取、更新和...

    ibatis mybatis crud 完整代码

    `CRUD` 操作是任何数据驱动应用的基础,它们分别对应于创建新记录、读取现有记录、更新记录以及删除记录。以下是如何在 `iBatis` 和 `MyBatis` 中实现这些操作: 1. **创建(Create)**:在 `iBatis` 和 `MyBatis` 中...

    IBatis常用操作封装

    在`IBatisDao.java`中,可能会有一个`selectList()`方法返回一个对象列表: ```java List&lt;User&gt; selectUsers(); ``` 4. **动态SQL**:`IBatis`的动态SQL功能非常强大,可以在映射文件中编写条件语句,如`if`, `...

    Ibatis培训教程

    总结Ibatis 是一款轻量级的 ORM 框架,它允许开发者自定义 SQL 语句,提供了灵活的数据访问层。通过 XML 或注解配置,Ibatis 可以将 SQL 语句与 Java 对象映射起来,简化了数据库操作。同时,它还支持动态 SQL,使...

    ibatis用xml配置文件配置使用

    在IT行业中,iBATIS(现为MyBatis)是一个非常流行的数据访问框架,它将SQL语句与Java代码分离,使得数据库操作更加简洁、灵活。本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到...

    IBatis.net教程

    - 执行插入操作:使用C#的Mapper.Instance().Insert方法,并传入SQL语句ID和要插入的对象,如果插入操作影响了有主键的表,则可以获取新插入数据的主键值。 - SQL描述文档:在XML文件中,可以详细定义SQL语句的结构...

    ibatis oracle clob

    标题 "ibatis oracle clob" 涉及到的是在Java开发中,使用iBATIS框架与Oracle数据库交互时处理CLOB(Character Large Object)类型数据的问题。CLOB是Oracle数据库用于存储大文本数据(如XML文档、长篇文章等)的...

    ibatis持久层简单操作

    在进行Ibatis操作时,需要注意SQL语句的编写、结果映射的配置以及事务的管理,这将直接影响到应用程序的性能和稳定性。通过`ibatisJavaTest`这样的测试文件,我们可以更好地理解和实践Ibatis的各种操作。

    Ibatis常用sql语句

    根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...

    ibatis学习文档

    iBATIS映射文件(Data Map XML File)是iBATIS框架的灵魂所在,它允许开发者明确地定义SQL语句、存储过程、输入参数映射、返回结果映射以及缓存机制。这种高度定制化的配置方式使得iBATIS在ORM(Object-Relational ...

    Ibatis3.0 增删改查(二)

    在本教程中,我们将深入探讨Ibatis 3.0,一个流行的数据持久层框架,用于实现Java应用程序中的数据库操作。Ibatis3.0是Mybatis的前身,它提供了一种灵活的方式来映射SQL语句,使得数据库交互变得更加简单。在这个...

    ibatis实现的学生信息管理示例

    2. **Mapper接口(StudentMapper)**: 定义操作学生信息的方法,如`selectById(int id)`、`insert(Student student)`等。 3. **Mapper XML文件(studentMapper.xml)**: 包含对应Mapper接口中方法的SQL语句和结果...

    ibatis技术总结

    - `queryForList(String id, int skip, int max)`:执行指定ID的SQL语句,并返回跳过前`skip`条记录后最多`max`条记录构成的列表。 - `queryForList(String id, Object parameterObject)`:执行指定ID的SQL语句,...

    ibatis--dao的应用

    例如,你可以用`&lt;select&gt;`标签定义一个查询,其中的id属性对应Java方法名,而parameterType和resultType分别指定了输入参数类型和返回结果类型。 在DAO层,Ibatis通过`SqlSession`接口与数据库进行交互。创建`...

Global site tag (gtag.js) - Google Analytics