<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时,首先需要配置数据源,这是通过DataSource接口实现的,常见的实现有Apache的DBCP和C3P0等。接着,我们需要创建SqlSessionFactory,它是Ibatis的核心工厂类,用于创建SqlSession对象。SqlSession对象...
2. **插入操作**:当向包含CLOB字段的表插入数据时,可以使用`<sql>`和`<insert>`标签,通过`<bind>`或`<param>`来传递CLOB值。例如: ```xml <insert id="insertWithClob" parameterType="map"> INSERT INTO ...
Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它允许我们编写SQL语句并将其与Java对象绑定,从而简化了数据访问层的开发。在传统的XML配置文件中,Ibatis允许我们定义SQL语句、参数映射以及结果集映射。然而...
例如,使用 `sqlMapClient.queryForObject(id, parameter)` 执行查询,`sqlMapClient.insert(id, parameter)` 插入数据等。 **Ibatis API** Ibatis 提供了一些基本的API,如查询、添加、删除和修改方法。通常,会...
在Ibatis中,插入数据通常通过`<insert>`标签实现。开发者需要定义一个SQL映射,指定SQL语句和参数,例如: ```xml <insert id="insertStudent" parameterType="com.example.Student"> INSERT INTO students(name,...
在实际开发中,Ibatis允许通过动态SQL来构建灵活的查询,比如`<if>`、`<choose>`、`<when>`、`<otherwise>`、`<where>`、`<set>`等标签,使得SQL能够在运行时根据条件动态生成,大大提高了代码的可维护性和复用性。...
iBatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码直接结合,提供了灵活的数据访问接口。这篇博客“iBatis执行非查询语句(CRUD,函数和过程)”深入探讨了如何在iBatis中执行创建、读取、更新和...
`CRUD` 操作是任何数据驱动应用的基础,它们分别对应于创建新记录、读取现有记录、更新记录以及删除记录。以下是如何在 `iBatis` 和 `MyBatis` 中实现这些操作: 1. **创建(Create)**:在 `iBatis` 和 `MyBatis` 中...
在`IBatisDao.java`中,可能会有一个`selectList()`方法返回一个对象列表: ```java List<User> selectUsers(); ``` 4. **动态SQL**:`IBatis`的动态SQL功能非常强大,可以在映射文件中编写条件语句,如`if`, `...
总结Ibatis 是一款轻量级的 ORM 框架,它允许开发者自定义 SQL 语句,提供了灵活的数据访问层。通过 XML 或注解配置,Ibatis 可以将 SQL 语句与 Java 对象映射起来,简化了数据库操作。同时,它还支持动态 SQL,使...
在IT行业中,iBATIS(现为MyBatis)是一个非常流行的数据访问框架,它将SQL语句与Java代码分离,使得数据库操作更加简洁、灵活。本篇文章将深入探讨如何使用XML配置文件来配置iBATIS,以解决你在实际开发中可能遇到...
- 执行插入操作:使用C#的Mapper.Instance().Insert方法,并传入SQL语句ID和要插入的对象,如果插入操作影响了有主键的表,则可以获取新插入数据的主键值。 - SQL描述文档:在XML文件中,可以详细定义SQL语句的结构...
标题 "ibatis oracle clob" 涉及到的是在Java开发中,使用iBATIS框架与Oracle数据库交互时处理CLOB(Character Large Object)类型数据的问题。CLOB是Oracle数据库用于存储大文本数据(如XML文档、长篇文章等)的...
在进行Ibatis操作时,需要注意SQL语句的编写、结果映射的配置以及事务的管理,这将直接影响到应用程序的性能和稳定性。通过`ibatisJavaTest`这样的测试文件,我们可以更好地理解和实践Ibatis的各种操作。
根据给定的文件信息,以下是对“Ibatis常用SQL语句”的详细解析,涵盖了一系列Ibatis在数据操作中的应用实例。 ### Ibatis简介 Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让...
iBATIS映射文件(Data Map XML File)是iBATIS框架的灵魂所在,它允许开发者明确地定义SQL语句、存储过程、输入参数映射、返回结果映射以及缓存机制。这种高度定制化的配置方式使得iBATIS在ORM(Object-Relational ...
在本教程中,我们将深入探讨Ibatis 3.0,一个流行的数据持久层框架,用于实现Java应用程序中的数据库操作。Ibatis3.0是Mybatis的前身,它提供了一种灵活的方式来映射SQL语句,使得数据库交互变得更加简单。在这个...
2. **Mapper接口(StudentMapper)**: 定义操作学生信息的方法,如`selectById(int id)`、`insert(Student student)`等。 3. **Mapper XML文件(studentMapper.xml)**: 包含对应Mapper接口中方法的SQL语句和结果...
- `queryForList(String id, int skip, int max)`:执行指定ID的SQL语句,并返回跳过前`skip`条记录后最多`max`条记录构成的列表。 - `queryForList(String id, Object parameterObject)`:执行指定ID的SQL语句,...
例如,你可以用`<select>`标签定义一个查询,其中的id属性对应Java方法名,而parameterType和resultType分别指定了输入参数类型和返回结果类型。 在DAO层,Ibatis通过`SqlSession`接口与数据库进行交互。创建`...