用spring连接池向数据库中写入大量数据时会报错,是不是需要在每次写入一条数据后关闭连接?

我做的是ssh框架的网站,现在需要向数据库中写入基础数据
这是applicationContext.xml的配置

我用的junit向数据库写数据,这是代码

这是错误

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.2015-3-21 11:39:58 ssh.dao.StudentOperationNoteDAO attachDirty严重: attach failedorg.springframework.dao.DataAccessResourceFailureException: Cannot open connection; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:625) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:737) at ssh.dao.StudentOperationNoteDAO.attachDirty(StudentOperationNoteDAO.java:135) at ssh.fillDB.toDB3.testXxx(toDB3.java:58) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)。。。
插入的数据总共有5w多条,出错是在第2w5条数据是发生的

你调试的时候把程序具体执行的sql语句打印出来看看呗,然后再在mysql里面执行这条语句看看结果是不是一样。
我感觉未必和字符编码有关。
温馨提示:内容为网友见解,仅供参考
无其他回答

用spring连接池向数据库中写入大量数据时会报错,是不是需要在每次写入一...
你调试的时候把程序具体执行的sql语句打印出来看看呗,然后再在mysql里面执行这条语句看看结果是不是一样。我感觉未必和字符编码有关。

SpringBoot整合数据库连接池
为了整合SpringBoot与Druid连接池,需要导入相应的starter包,修改配置文件,添加数据源配置类,并根据需要添加数据监控中心配置类。Druid监控中心的访问地址会根据所使用jar包的版本有所不同。整合后的SpringBoot应用能够利用Druid连接池的高效性能和监控能力,为开发者提供更稳定的数据库访问环境。

SpringBoot整合Redis做缓存-自定义缓存序列化方式,防止缓存数据乱码问 ...
spring:datasource:url:jdbc:mysql:\/\/192.168.104.64:3306\/spring_boot_plus?serverTimezone=Asia\/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=trueusername:rootpassword:huauN2021#Redis配置redis:database:0host:192.168.104.102password:huauN@2021port:6379timeout:6000#连接...

JAVA WEB项目 使用SQLSERVER数据库,数据发生改变时,保留操作痕迹_百度...
从业务角度去控制,每次对数据进行操作的时候像楼下说的那样记录一些关键log信息 从数据角度去控制,对这个表添加触发器 配置log4j记录到文件中

使用spring调度,在夜间自动作业时,系统出错,错误提示数据库未连接。求...
可以考虑并发的因素。你这段程序做下压力测试,看看是不是有性能瓶颈或者程序bug,有可能是你程序漏洞导致数据库连接无法正常关闭引起的问题,另外建议你用Jndi的方式来访问数据库。

springboot数据库连接池什么时候关闭
项目停止时。这是通过SpringBoot的DataSourceAutoConfiguration自动配置实现的,它会在项目启动时创建HikariDataSource,并在项目关闭时调用HikariDataSource的close方法关闭连接池。

java连接mysql数据库useSSL问题
深入探究后,了解到在使用spring框架结合druid作为连接池时,配置通常位于项目的config目录或Apollo配置中心。通常在pom.xml文件中添加相关依赖,数据库连接配置一般在datasource配置中,spring加载druid配置的方式需根据具体配置存放方式进行。怀疑问题可能源于useSSL参数在不同实例下的默认值不同。在检查了Data...

SS2H + c3p0连接池 程序在运行一段时间后 就会出现无法连接数据库的错...
果然发现很多未回收的连接,正常情况下超时未回收的连接会有一些,但是不会这么多啊。经查资料在hibernate sessionFacory中增加配置(http:\/\/hi.baidu.com\/austincao\/item\/fc9907da3d854e44fa576861)Spring3.1去掉了HibernateDaoSupport类。hibernate4需要通过getCurrentSession()获取session。 并且设置 <...

jsp连接sql服务器的数据库时,需要加载什么驱动字符串?
我给出spring的连接池配置方式:<!-- 数据源配置,使用应用内的DBCP数据库连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- Connection Info --> <property name="driverClassName" value="${jdbc.driver}" \/> <property name...

数据库连接池有什么作用?为什么spring中需要配置那个连接池?
连接池的作用就是你要大量访问数据库的时候有用。可以提高数据访问的速率!

相似回答