`

Ibatis中insert用法

阅读更多

在Ibatis中,insert()的返回值为一个Object的主键,其实这个Object的主键是这样的来的:如果在bean的xml文件中设置了插入的keyProperty,则insert()方法返回的就是这个主键的值。

    例如,所以我们想要在插入时想要插入一个sequence值到数据库的某个字段(当然,这个字段的类型为Number的),我们可以在xml文件中做如下配置(以下为在DB服务器是Oracle的前提下):

<insert id="insertUser" parameterClass="po.User">
     <selectKey resultClass="int" keyProperty="userId" >
         SELECT user_account_s.nextval AS userid FROM dual
     </selectKey>
  insert into user_account(userid, username, password, groupname)
          values(#userId#, #userName#, #password#, #groupName#)
 </insert>

此时插入到数据库中的某表userid字段的值即使sequence的值。但要注意的是,配置中出现的红色加粗字体一定要对应到bean中的属性字段,也即要与bean中的属性字段名称相同,否则则会抛出异常。

    如果是SQL SERVER数据库,则进行如下配置:

<insert id="insertUser" parameterClass="po.User">
    insert into user_account(userid, username, password, groupname)
          values(#userId#, #userName#, #password#, #groupName#)

     <selectKey resultClass="int" keyProperty="userId" >
         SELECT @@IDENTITY as userid
     </selectKey>
 </insert>

    如果是MYSQL 数据库,则进行如下配置:

<insert id="MS-SYS-SEQ-INSERT">
     <![CDATA[
         insert into sys_seq(name) values (#name#)
     ]]>
     <selectKey resultClass="long" keyProperty="id">
         <![CDATA[SELECT LAST_INSERT_ID() AS ID ]]>
     </selectKey>
    </insert>

分享到:
评论

相关推荐

    详细介绍Ibatis的用法

    ### 详细介绍Ibatis的用法 #### Ibatis概述与特点 Ibatis是一个开源的持久层框架,它通过简单的XML配置文件将JavaBean映射到SQL语句上,从而极大简化了对关系数据库的操作。与其他数据库持久层框架如JDO、...

    ibatis2.0中文API

    在iBATIS 2.0中文API中,我们可以深入理解这个框架的核心功能和用法,包括一对多、多对一的关系映射、属性设置以及解决方案的详细解析。 首先,一对多和多对一的关系映射是ORM(对象关系映射)中的关键概念。在...

    ibatis官方中文文档

    总之,《iBatis官方中文文档》是学习和实践iBatis框架的重要指南,它详细阐述了iBatis的各个组成部分和使用方法,有助于开发者快速上手并深入理解iBatis的工作原理,提升开发效率。通过阅读和实践文档中的示例,...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...

    ibatis demo,ibatis例子,ibatis示例

    3. **SqlSession**:SqlSession是Ibatis的核心组件,它提供了执行SQL的方法,如`selectOne`、`insert`、`update`和`delete`。每次数据库操作后,记得关闭SqlSession以释放资源。 4. **动态SQL**:Ibatis的动态SQL...

    ibatis的使用教程

    Ibatis 提供了一些基本的API,如查询、添加、删除和修改方法。通常,会通过 SqlMapClient 的工厂类创建 SqlMapClient 实例,以管理数据库操作。例如,使用 SqlMapClientBuilder 创建 SqlMapClient 对象,然后执行...

    ibatis入门

    这个入门级别的教程将引导你了解 Ibatis 的基本概念和使用方法,包括增删改查操作、多条件查询以及单对象和数据集合查询。 1. **安装与配置** 在开始使用 Ibatis 之前,你需要在项目中引入 Ibatis 的依赖。如果是 ...

    Ibatis中文开发指南

    基于注解的方式是在Service层的方法上添加@Select、@Insert、@Update和@Delete注解,而基于接口的方式则是通过Mapper接口和对应的Mapper XML文件来定义SQL。 在实际项目中,Ibatis可以很好地与Spring框架集成,利用...

    ibatis 中文api

    接口中的方法名与XML中的ID相同,通过`@Select`、`@Insert`、`@Update`、`@Delete`等注解,将SQL语句绑定到方法上。 4. **动态SQL**:Ibatis的动态SQL功能非常强大,可以在SQL语句中使用条件标签(`&lt;if&gt;`、`...

    IBatis简单使用

    以上就是IBatis的基本使用方法和核心概念,通过它可以有效地提升数据库操作的便捷性和灵活性,降低开发成本。在实际项目中,可以根据需求进行扩展和定制,如结合Spring框架实现更高级的整合应用。

    Ibatis

    Ibatis 的一大亮点是支持动态 SQL,开发者可以在 SQL 映射文件中使用条件判断、循环等结构,使得 SQL 语句能够根据传入参数的不同而变化。 **4. MyBatis vs Ibatis** 尽管 Ibatis 在后期演进成了 MyBatis,两者在...

    ibatis使用指南

    - **插入**:使用`insert`方法,Ibatis会自动生成`insertId`,便于获取新生成的主键。 - **更新**:使用`update`方法,Ibatis会根据传入的对象自动拼接UPDATE语句。 - **删除**:使用`delete`方法,根据传入的...

    Ibatis 入门经典 实例

    实际项目中,还可以结合日志、缓存等机制,进一步优化 Ibatis 的使用。记住,学习 Ibatis 不仅是为了掌握框架本身,更是为了理解如何优雅地处理数据访问层的问题。在实际操作中,参考提供的 `ibatisTest` 示例,你会...

    ibatis-缓存使用示例

    3. 使用缓存:在Java代码中,通过SqlSession的`selectOne`, `selectList`等方法查询数据时,会自动检查并使用缓存。 通过这个示例,你可以深入理解iBATIS缓存的工作原理,以及如何在项目中有效利用缓存优化性能。...

    ibatis plugin用户指南

    6. **SqlMapClient方法调用的代码提示**:在调用SqlMapClient的方法时,插件会根据语句类型(update、insert等)提供相应的id。同样,它也支持Spring中的SqlMapClientTemplate。 **总结** iBatis Plugin作为...

    ibatis教程 输入参数详解

    标题:ibatis教程 输入参数详解 描述:ibatis教程 输入参数详解 ibatis快速入门 ...通过上述知识点的学习,可以深入理解ibatis的工作原理,掌握ibatis的基本使用方法,为开发高性能的Java数据库应用打下坚实的基础。

    ibatis简单CRUD例子

    通过这些文件,新手可以学习如何配置Ibatis,以及如何在Java代码中使用Ibatis进行数据操作,从而理解Ibatis的工作原理和使用方法。 总结起来,Ibatis作为一个轻量级的持久层框架,其简单易用的特性使其成为许多项目...

    IBatis .NET框架实例

    本文将深入探讨如何在C# .NET环境中使用IBatis进行数据库操作,这对于初学者来说是一份宝贵的资源。 **一、IBatis .NET简介** IBatis(现在称为MyBatis)是一个轻量级的持久层框架,它允许开发者将SQL语句直接嵌入...

Global site tag (gtag.js) - Google Analytics