网上找过很多类似的情况,有很多人都碰到了插入数据,数据库不存在数据的问题,解决的方案几乎都是跟事务有关,有的是没有手动提交(commit)有的是没有设置事务管理,但是我的已经设置了事务管理,但还是插入不了数据,麻烦大神们帮我看下这个问题,看如何解决
事务管理
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
lazy-init="false">
<property name="dataSource" ref="VacationDataSource"/>
</bean>
数据源
<bean id="VacationDataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${batch.jdbc.driverClassName}"/>
<property name="url" value="${batch.jdbc.url}"/>
<property name="username" value="${batch.jdbc.username}"/>
<property name="password" value="${batch.jdbc.password}"/>
<property name="maxActive" value="${batch.jdbc.maxActive}"/>
<property name="maxIdle" value="${batch.jdbc.maxIdle}"/>
<property name="maxWait" value="${batch.jdbc.maxWait}"/>
<property name="defaultAutoCommit" value="true"/>
</bean>
插入语句和打印的日志
<insert id="insertPackageline" parameterType="productline" useGeneratedKeys="true" keyProperty="id">
<selectKey resultType="long" keyProperty="id" order="BEFORE">
SELECT seq_pkgproductline.Nextval from DUAL
</selectKey>
insert into pkg_packagemarketgeneralize (id,status,createtime,addedbyid)
values (seq_pkgproductline.nextval, ?,?,?)
</insert>
Parameters: Y(String), 2017-10-12 10:31:35.585(Timestamp), system(String)
ps:根据打印出的日志在plsql中能正常插入数据
相关推荐
添加映射—— <!... PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> insert into stu_tbl(name,age) values(#{name},#{age}) </mapper>
本篇文章将详细介绍如何利用Java和MyBatis实现批量插入数据到Oracle数据库中。 首先,我们需要理解Oracle数据库的一些基本概念。Oracle是世界上最流行的商业关系型数据库管理系统之一,以其强大的功能和高可靠性而...
本文主要讨论了 Spring 框架中多数据源的处理方法,特别是使用 Mybatis 实现跨库查询。在大型应用中,为了提高系统的水平伸缩性,需要对数据进行切分,并且采用多个数据库实例进行管理。为了实现这种方案,我们需要...
总结起来,MyBatis提供了一种灵活的方式,允许开发者直接执行SQL查询和批量插入数据。在使用时,需要注意SQL字符串的编写规范,理解#{}和${}的区别,以及合理利用`<foreach>`标签进行批量操作。这使得MyBatis不仅...
当项目需求涉及到多个数据源时,如何在SpringMVC和MyBatis中配置和管理这些数据源就成为了一个关键问题。"springmvc_mybatis_多数据源"这个项目就是针对这种情况提供的一种解决方案。 首先,我们来看SpringMVC如何...
在尝试批量插入数据时,常见的做法是创建一个包含待插入对象的List,然后通过MyBatis的`<foreach>`标签将这些对象插入到数据库中。例如,以下是一个错误的示例: ```xml <![CDATA[SELECT SEQ_OCL_SUPCITY....
在整合Spring Boot与MyBatis-Plus的过程中,可能会遇到启动应用时报错的问题。错误信息通常类似于"Error starting ApplicationContext",并提示"UnsatisfiedDependencyException",这表明Spring框架在初始化bean时...
针对这一需求,"mybatis 存储数据对象数据自动加解密插件"应运而生,它旨在为Mybatis提供一个便捷的数据加解密解决方案,以确保数据在存储和检索过程中的安全性。 该插件的工作原理是在数据被持久化到数据库之前...
总之,了解MyBatis插入数据时使用连接池与不使用的性能差异,对于优化数据库操作和提升应用程序性能至关重要。在开发过程中,我们应该养成良好的编程习惯,充分利用连接池的特性,为用户提供更高效的服务。
多数据源意味着应用程序可以从不止一个数据库中读取和写入数据。在Spring中,这通常通过DataSource路由(DataSource Routing)实现,它允许我们根据不同的业务逻辑或条件选择不同的数据源。Spring的...
在批量插入数据的场景下,可以创建一个CountDownLatch对象,初始化为线程的数量,每个线程处理完自己的数据后调用`countDown()`方法,主线程通过调用`await()`方法等待所有线程完成后再执行后续操作,如提交事务。...
在测试方法中,可以使用如下方式插入数据: ```java public void test_insertUserPic(){ String name = "tom"; String bio = "Can be a very long string"; byte[] pic = null; try { // 读取用户图片 // ......
本篇将深入探讨如何在Spring Boot项目中整合Mybatis,实现对SQL Server数据库的跨库批量插入操作。 首先,我们需要在Spring Boot项目中引入相关的依赖。对于Mybatis的支持,我们需要添加Mybatis和其Spring Boot ...
Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...
在本文中,我们将详细介绍MyBatis插入数据返回主键的实现方法。 Service层实现 在Service层中,我们可以使用MyBatis提供的Mapper接口来实现插入数据的功能。例如,我们可以定义一个`addUser`方法,用于插入用户...
在现代企业级应用中,随着数据量的增长,单表存储可能会遇到性能瓶颈,这时就需要引入分库分表的策略来优化数据库的性能。"spring动态数据源+mybatis分库分表"是一个针对大型数据库场景的解决方案,它利用Spring框架...
解决mybatis头文件报错 下载好压缩包 解压将文件放到本地文件夹 例如 D盘的哪个文件夹 D:\mybatis\ ;然后打开eclipse ->Window->prefenrence->XML->XML Catalog->User Specifiled Entreis->Add->Location(此处是你...
【Mybatis实现一对一,一对多数据插入数据】 在软件开发中,尤其是在涉及到数据库操作时,数据关系的处理是非常关键的一部分。Mybatis,一个优秀的持久层框架,提供了方便的方式来处理复杂的数据关系,包括一对一和...
在Mybatis的Mapper配置中,可以通过注解或XML文件指定数据源,或者在Mapper接口的方法上使用@SelectProvider等注解动态设置数据源。 接下来,我们来看看RouterWeb,这可能是项目中用于路由决策的部分。在Web应用中...
在MyBatis中,操作JSON类型数据涉及到对MySQL数据库中JSON字段类型的映射和转换,以便于在Java代码中能够方便地处理这些数据。这里,我们主要关注如何自定义TypeHandler来实现这一功能。 首先,MySQL引入了JSON类型...