使用DBCP或C3P0存储二进制抛出异常
2013-05-18 14:59
113 查看
今天使用DBCP数据库连接池存放二进制图片,抛出如下异常:
严重: Servlet.service() for servlet hotelAdmin threw exception
java.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
at com.qbg.dao.HotelDao$6.setValues(HotelDao.java:170)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:816)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:1)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:587)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:812)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:868)
at com.qbg.dao.HotelDao.update(HotelDao.java:166)
at com.qbg.service.HotelService.update(HotelService.java:54)
从字面意思看,是DBCP没有实现该接口,直接调用抽象接口肯定抛出异常。既然DBCP没有实现通用二进制流处理,那我们只能换个连接池或直接使用JDBC操作二进制流。
由于一般在数据库中只存放图片链接,所以也不想整了,就用JDBC直接操作吧,要不自己写个代理也行!
严重: Servlet.service() for servlet hotelAdmin threw exception
java.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
at com.qbg.dao.HotelDao$6.setValues(HotelDao.java:170)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:816)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:1)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:587)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:812)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:868)
at com.qbg.dao.HotelDao.update(HotelDao.java:166)
at com.qbg.service.HotelService.update(HotelService.java:54)
从字面意思看,是DBCP没有实现该接口,直接调用抽象接口肯定抛出异常。既然DBCP没有实现通用二进制流处理,那我们只能换个连接池或直接使用JDBC操作二进制流。
由于一般在数据库中只存放图片链接,所以也不想整了,就用JDBC直接操作吧,要不自己写个代理也行!
相关文章推荐
- 使用C3P0抛出UnknownHostException异常
- SQL Server 存储过程中使用raiserror抛出异常
- 使用throws声明抛出异常
- spring 使用aop注解版会抛出奇怪的异常的解决方法
- 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
- Servlet.service() for servlet jsp threw exception java.lang.Il在jsp中使用jspsmartupload组件下载文件时将抛出异常的解决方案
- SQL Server中使用异常处理调试存储过程
- 【C#】52. 使用Flatten方法处理并行任务抛出的异常
- ListView使用遇到的问题:1. ItemView使用merge标签减少嵌套 2. getView中抛出类转换异常
- 解决SpringBoot连接池TOMCAT-JDBC(默认) DBCP或C3P0连接超时异常问题
- 解决 关于Silverlight使用WCF时抛出异常 Could not find default endpoint element that references contract...
- c++ 使用throw抛出异常
- JAVAWEB开发之事务详解(mysql与JDBC下使用方法、事务的特性、锁机制)和连接池的详细使用(dbcp以c3p0)
- Java 使用JDBC、DBCP、C3P0访问数据库
- SQL Server中使用异常处理调试存储过程(转)
- 使用子事务(saveponit)时,当子事务抛出异常后,此异常处理掉不继续往外抛, Transaction has been rolled back because it has been marke
- 讨论:一个类的方法应该使用返回值来标识执行状态,还是抛出异常?
- c++ 使用throw抛出异常
- finally中使用return会吃掉catch中抛出的异常
- ios 人为抛出异常 --- 但不建议在项目中频繁使用