Model代码:
public class Task { private Long taskId; private String message; //setter and getter }
Oracle:
这里就用Mybatis的generator工具生成的XML模板做例子
说明:
1、sel_task_id 是自己在Oracle中建立的seq
2、resultType是主键的类型,order是表示在insert语句之前运行还是之后,keyProperty代表的是Task的主键。
3、特别注意,用了selectKey之后,需要删除generator工具生成的主键if条件判断,不然会报ORA-01400: 无法将 NULL 插入 TASK_ID 的错误
4、这条insert语句返回的依然是插入的条数1,task的主键会自动加载到model的Task中,成功后就可以直接操作Task获取主键了.
<insert id="insertSelective" parameterType="cn.model.Task"> <selectKey resultType="Long" order="BEFORE" keyProperty="taskId" > select seq_task_id.nextval as taskId from dual </selectKey> insert into TASK <trim prefix="(" suffix=")" suffixOverrides="," > TASK_ID, <if test="message != null" > MESSAGE, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > #{taskId,jdbcType=DECIMAL}, <if test="message!= null" > #{message,jdbcType=VARCHAR}, </if> </trim> </insert>
MYSQL:
这个没什么可说明的,比较简单。
<insert id="insert" useGeneratedKeys="true" keyProperty="taskId" parameterType="cn.model.Task"> insert into TASK(TASK_ID,MESSAGE) values(#{taskId},#{message}) </insert>
相关推荐
在Eclipse中创建一个JUnit测试类,注入`TestService`,并调用其方法进行数据库操作,如查询、插入、更新或删除,以验证MyBatis是否成功连接到Oracle数据库。 通过以上步骤,你就完成了MyBatis连接Oracle数据库的...
在使用MyBatis进行数据库操作时,有时我们需要在插入数据后获取自动生成的主键ID,这在处理自增主键的场景下尤其常见。在MySQL数据库中,自增主键通常用于标识每条记录的独特性,而在插入新记录后,数据库会自动为这...
本文将详细介绍 MyBatis 在 insert 插入操作时返回主键 ID 的配置,包括 MySQL 和 Oracle 两个数据库的用法。 MySQL 用法 在 MySQL 中,MyBatis 提供了一个简单的配置来返回插入的主键 ID。我们可以在 insert 语句...
需要注意的是,在 Mybatis 3.3.0 及其之前的版本中,不支持批量插入返回带主键的功能。需要升级到 Mybatis 3.3.1 及其以上版本。 总结 通过上面的示例,我们可以看到 Mybatis 插入一条或批量插入 返回带有自增长...
在MyBatis中,处理自增主键是一个常见的需求,特别是在Oracle和MySQL这两个数据库中。Oracle通常使用Sequence来生成自增主键,而MySQL则直接通过表定义的自增属性来处理。以下将详细讲解这两种数据库在MyBatis中的...
在处理插入数据到数据库并返回主键的场景时,MyBatis提供了两种主要的方法。这两种方法都是在映射文件(Mapper.xml)中配置,允许你在插入记录后获取自动生成的主键值。 **方式一:使用`useGeneratedKeys`和`...
这样做是因为Oracle不支持像MySQL那样的`VALUES`子句进行批量插入,所以我们需要模拟这个过程,通过`UNION ALL`将多个单行查询组合成一个大的`SELECT`。 在Service层,我们定义了`addBleaseList`方法,它接收一个`...
MyBatis插入数据返回主键的介绍 MyBatis是一个流行的持久层框架,它提供了许多实用的功能,包括插入数据返回主键的功能。在本文中,我们将详细介绍MyBatis插入数据返回主键的实现方法。 Service层实现 在Service...
在MyBatis的配置文件中,你可能已经为其他支持自增主键的数据库(如MySQL)设置了`useGeneratedKeys="true"`,但对Oracle来说,因为自增机制不同,需要在插入语句中显式调用序列。所以,对于Oracle,你需要按照上述...
在"mybatis自动生成实例支持oracle和MySQL"的场景中,我们可以理解为该压缩包包含了一个能够帮助开发者自动生成针对Oracle和MySQL数据库的相关代码的工具或教程。 1. **MyBatis自动化工具**: MyBatis Generator ...
本文将详细介绍如何将Oracle和MySQL的表格转换为MyBatis的相关文件,并深入探讨相关知识点。 首先,Oracle和MySQL的表格转换涉及到数据结构的映射。Oracle和MySQL的表结构在设计上有所不同,包括字段类型、约束条件...
"MyBatis insert操作插入数据之后返回插入记录的id" MyBatis是一款流行的Java持久层框架,今天我们将讨论MyBatis insert操作插入数据之后返回插入记录的id的知识点。 首先,MyBatis提供了一个机制来获取插入数据...
这种方法可以摆脱Mybatis批量插入数据的诸多限制,例如不能实时返回主键、foreach标签循环集合长度有限制等问题,并且可以灵活地控制事务回滚。 结论 使用Mybatis传List参数调用Oracle存储过程,可以实现批量插入...
总结一下,MyBatis 中插入数据并返回插入记录的 ID 主要涉及以下知识点: 1. 使用 `<insert>` 标签定义插入语句。 2. 设置 `useGeneratedKeys="true"` 开启获取自增主键的功能。 3. 使用 `keyProperty` 指定对象的...
本资源提供了MyBatis Generator 1.3.5版本,包含了针对MySQL、Oracle和PostgreSQL数据库的配置XML以及对应的驱动包。 在使用MyBatis Generator时,首先要了解其核心概念: 1. **配置文件(generatorConfig.xml)**...
Oracle版适用于使用Oracle数据库的项目,而MySQL版则适用于基于MySQL数据库的项目。这两个版本可能在生成的代码中对数据库特性的处理上有所不同,例如数据类型映射、序列(Oracle)与自增ID(MySQL)的处理等。 ...
mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。这些软件工具均可以到各自的官方网站上下载。 首先建立一个名字为 MyBaits 的 dynamic web project 1. 现阶段,你可以...
在MyBatis中,当你执行一个插入(insert)操作时,通常默认情况下,MyBatis不会返回新插入记录的主键值,而是返回插入的记录条数。然而,在某些业务场景下,我们可能需要获取到新插入记录的主键,以便进行后续的操作...
MyBatis 插入返回主键代码实例详解 MyBatis 是一个流行的持久层框架,它提供了多种方式来处理数据库操作。其中,插入数据并返回主键是一个非常常见的操作场景。本文将详细介绍 MyBatis 中插入返回主键代码实例的...