-
关于mybatis运行oracle下的批次新增报错!10
大家好,想问一下,有谁用mybatis在oracle数据库下批次新增?我在mysql下没问题,但在oracle下执行报错!
比如我的执行配置:
<insert id="addBatch" parameterType="TestBean">
INSERT INTO t_test
(id, prop_name)
VALUES
<foreach collection="list" item="item" index="index"
separator=",">
(#{item.id, jdbcType=NUMERIC}, #{item.propName, jdbcType=VARCHAR})
</foreach>
</insert>
报错信息:
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
### The error may involve com.mzl.module.test.mybatis.mapper.TestMapper.addBatch-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO t_test (id, prop_name) VALUES (?, ?) , (?, ?)
### Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
希望各位给点帮助,多谢了!2012年6月27日 13:30
4个答案 按时间排序 按投票排序
-
这样写
begin
<foreach collection="list" item="item" index="index"
separator=";"> <!--分号 注意-->
INSERT INTO t_test
(id, prop_name)
VALUES
(#{item.id, jdbcType=NUMERIC}, #{item.propName, jdbcType=VARCHAR})
</foreach>
;end;2012年10月10日 08:12
-
oracle中用insert into xxx values (xxx,xxx),(xxx,xxx) 这种语法应该通不过的
要用这种insert into t_test (id, prop_name) select 1,'aaa' from dual union all select 2,'bbb' from dual union all select 3,'ccc' from dual;
2012年6月27日 18:31
-
这样写是不对的,不是ibatis的问题,而是oracle本来就不支持这样的语法。可以这样试试:
<insert id="addBatch" parameterType="TestBean">
INSERT INTO t_test
(id, prop_name)
<foreach collection="list" item="item" index="index"
separator=" union all ">
select #{item.id, jdbcType=NUMERIC}, #{item.propName, jdbcType=VARCHAR} from from dual
</foreach>
</insert>
这样虽然可以,但是不是一个好办法,希望一条一条插入,然后批量提交sql。2012年6月27日 13:45
相关推荐
mybatis 技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip...
本实例将指导你如何使用MyBatis连接Oracle数据库,并在Oracle中创建一个名为`test`的表。 首先,确保你已经安装了Eclipse集成开发环境、JDK、Oracle数据库以及MyBatis框架。Oracle数据库需要设置相应的环境变量,如...
在Oracle数据库中使用MyBatis的`<foreach>`标签进行批量插入时,可能会遇到“SQL命令未正确结束”的错误。这个问题通常由于Oracle数据库对批量插入语句的语法要求与MySQL等其他数据库系统不同所导致。以下是对这个...
在"SpringBoot+mybatis+Oracle整合代码"中,我们可以学习到以下几个关键知识点: 1. **SpringBoot的自动配置**:SpringBoot的核心特性之一就是自动配置,它能根据项目中的依赖自动配置相应的Bean。在整合MyBatis时...
【标题】"mybatis + oracle demo"是一个关于如何结合MyBatis框架与Oracle数据库进行实际操作的示例项目。这个项目旨在为初学者提供一个简单易懂的起点,帮助他们快速掌握MyBatis在Oracle环境下的应用。 【描述】...
本知识点将详细介绍如何在Idea中配置Maven、Spring Boot、MyBatis以及Oracle数据库,实现一个完整的Java Web项目架构。 **一、配置Maven** 1. **安装Maven**: 首先确保你的系统中已经安装了Maven,可以在命令行...
MyBatis-Oracle逆向工程工具是一款高效实用的开发辅助软件,专为使用MyBatis框架和Oracle数据库的开发者设计。这款工具的核心功能是自动生成与数据库表结构对应的MyBatis映射文件、实体类以及DAO接口,极大地提高了...
Mybatis 入门到放弃
springboot继承mybatis后,通过mybatis调用oracle数据库中创建的存储过程,并获取通过游标返回的数据。
在实际开发中,将 MyBatis 整合到 Oracle 数据库进行数据操作,包括增删改查,是常见的需求。以下将详细介绍这个过程。 1. **环境准备** - **Oracle 数据库**:首先确保你已经安装并配置了 Oracle 数据库,创建好...
MyBatis总结!!!!!
基于springboot+mybatis+oracle的校园闲置物品交易系统源码(高分毕设).zip 基于springboot+mybatis+oracle的校园闲置物品交易系统源码(高分毕设).zip 基于springboot+mybatis+oracle的校园闲置物品交易系统源码...
在使用MyBatis与Oracle数据库进行交互时,通常需要一些特定的库来确保连接和操作的顺利进行。这里提到的两个jar包,"ojdbc6.jar"和"mybatis-3.4.4.jar",正是实现这一目的的关键组件。 首先,"mybatis-3.4.4.jar"是...
JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 后台框架 bootstrap.docxJAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 后台框架 bootstrap.docxJAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 后台框架 ...
本配置示例将详细介绍如何在Spring Boot中整合MyBatis与Oracle数据库,并配置两个不同的数据源。 首先,我们需要理解数据源(DataSource)的概念。数据源是Java应用程序与数据库之间的桥梁,它负责管理数据库连接,...
在本项目"SpringBoot+Mybatis+Oracle代码demo"中,开发者旨在提供一个集成SpringBoot、Mybatis和Oracle数据库的示例,以帮助初学者更好地理解和应用SpringBoot框架。下面将详细阐述这三个核心技术及其在项目中的应用...
总之,解决Mybatis返回`int`或`Integer`类型报错的问题,你可以: 1. 将Mapper方法的返回类型改为`Integer`,以允许返回`null`。 2. 在SQL查询中使用`NVL()`, `IFNULL()`, `ISNULL()`或`COALESCE()`函数来确保在没有...
【标题】"springboot+mybatis+oracle源码"揭示了这个项目是基于Spring Boot框架,结合MyBatis持久层框架以及Oracle数据库实现的一个应用程序。Spring Boot以其简化配置和快速开发的特点,常被用于构建微服务和单体...
8. **运行测试**:创建`springTest`目录下的测试类,使用JUnit进行单元测试,确保Spring和MyBatis的整合以及Oracle数据库操作正常工作。 在实际开发中,还需要注意以下几个关键点: - **事务管理**:Spring提供了...
"maven+spring+springmvc+mybatis+oracle"的整合就是一个典型例子,它涉及到项目的构建管理、依赖注入、MVC模式、数据库操作以及持久层框架等多个方面。下面我们将详细探讨这些技术组件及其整合方式。 首先,Maven...