UncategorizedSQLException异常处理办法
如题,先贴console
org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [select * from zb_zbfl_sjzbfl_view where zb_id=?4]; SQL state [72000]; error code [1008]; ORA-01008: 并非所有变量都已关联
; nested exception is java.sql.SQLException: ORA-01008: 并非所有变量都已关联
这条简单语句数据库运行是没有问题的,我dao层是用的rowmapper进行封装处理的,报并非所有变量都已关联的错误已经好多次了,摸索了几个小时,总算搞懂了rowmapper的大概用法。
附上部分源代码:
model:
public class Zbfl_mc_and_sjzbfl_mc {
Integer zb_id;
Integer zbfl_id;
Integer sjzbfl_id;
String zbfl_mc;
String sjzbfl_mc;
.........
}
rowmapper:
public class Zbfl_mc_and_sjzbfl_mc_RowMapper implements RowMapper{
@Override
public Object mapRow(ResultSet rs, int arg1) throws SQLException {
Zbfl_mc_and_sjzbfl_mc zbfl_mc_and_sjzbfl_mc=new Zbfl_mc_and_sjzbfl_mc();
zbfl_mc_and_sjzbfl_mc.setZb_id(rs.getInt("zb_id"));
zbfl_mc_and_sjzbfl_mc.setZbfl_id(rs.getInt("zbfl_id"));
zbfl_mc_and_sjzbfl_mc.setSjzbfl_id(rs.getInt("sjzbfl_id"));
zbfl_mc_and_sjzbfl_mc.setSjzbfl_mc(rs.getString("sjzbfl_mc"));
zbfl_mc_and_sjzbfl_mc.setZbfl_mc(rs.getString("zbfl_mc"));
return zbfl_mc_and_sjzbfl_mc;
}
}
daoImpl:
@Override
public Zbfl_mc_and_sjzbfl_mc set_zbfl_and_sjzbfl(Integer zb_id) {
String sql="select * from zb_zbfl_sjzbfl_view where zb_id="+zb_id;
System.out.println(sql);
return getJdbcTemplate().queryForObject(sql, zbfl_mc_and_sjzbfl_mc_RowMapper);
}
错误原因:
rowmapper封装的是返回的对象,而我是select * ,数据库中这个视图除了rowmapper有封装的数据,还有一些其他数据,所以select查出来以后没法去封装一一对应,所以会报 “并非所有变量都已关联”这个错误.
修改办法:
只需要把sql改成“select zb_id,zbfl_id,sjzbfl_id,sjzbfl_mc,zbfl_mc from zb_zbfl_sjzbfl_view where ....” ,错误即可解决
本文链接:https://blog.csdn.net/weixin_38894231/article/details/78211774
UncategorizedSQLException异常处理办法的更多相关文章
- HttpWebRequest 抓取页面异常处理办法
抓取页面异常处理办法 public static string GetHtmlTest(string URI) { string fullhtml = null; while (true) { try ...
- 虚拟机下linux迁移造成MAC地址异常处理办法
虚拟机下linux迁移造成MAC地址异常处理办法 Linux无法启用网卡:Device eth0 has different MAC address than expected,ignoring解决 ...
- CSE(Corrupted State Exceptions) 严重异常处理办法
原因分析 出现这个问题说明.NET版本至少是4.0,因为微软在.NET 4.0版本中更改了异常处理机制.微软认为catch(Exception)这种写法是不负责任的,程序员应该按照异常严重类别决定程序 ...
- WinForm程序全局捕捉异常处理办法
如何全局捕捉Winform程序异常呢,当然是从程序启动入口的Program类下的Main()方法定义了,下面看下这个类怎么写的吧 static class Program { static strin ...
- <input type="file"> change事件异常处理办法
问题:最近发现一个奇怪的bug, 那就是在上传图片需要采用input type=file来进行文件选择.由于为了适应美工的UI图,所以是把选择文件的input框隐藏了.然后通过另外一个按钮的点击事件来 ...
- [BILL WEI] A potentially dangerous Request.Path value was detected from the client 异常处理办法
我们在ASP.net中使用URL导向后, 我们在访问某个地址,或者打开某个系统页面的时候,就会报错误: A potentially dangerous Request.Path value was d ...
- android.os.NetworkOnMainThreadException异常处理办法
网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧. 在发起Http请求的Activity里面的onCreate函数里 ...
- elastic-job集成到springboot教程,和它的一个异常处理办法:Sharding item parameters '1' format error, should be int=xx,int=xx
先说这个Sharding item parameters '1' format error, should be int=xx,int=xx异常吧,这是在做动态添加调度任务的时候出现的,网上找了一会没 ...
- PowerShell的异常处理办法
$ErrorActionPreference = 'Stop' Try{ # C:\xxx 不存在 Copy-Item C:\xxx -ErrorAction Stop } Catch ...
随机推荐
- Java对象相等比较(Equals)
以下代码显示如何实现equals()和hashCode()方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...
- h5唤醒手机拨打电话
jquery : $("#a").attr("href","tel:110");
- 转 Python - openpyxl 读写操作Excel
Python - openpyxl 读写操作Excel openpyxl特点 openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...
- python基础【第四篇】
python第二节 1.while循环 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.基本形式为: while 条件: 循环体 ...
- 下载文件时HttpServletResponse设置响应头的Content-Disposition属性
Content-Disposition属性有两种类型 inline :将文件内容直接显示在页面 attachment:弹出对话框让用户下载 弹出对话框下载文件 resp.setHeader(" ...
- Android 导致OOM的常见原因
OOM主要有两种原因导致: 1. 加载大图片: 2. 内存泄漏: 一.加载大图片 在Android应用中加载Bitmap的操作是需要特别小心处理的,因为Bitmap会消耗很多内存.比如,Galaxy ...
- subst - 替换文件中的定义
总览 (SYNOPSIS) subst [ -e editor ] -f substitutions victim ... 描述 (DESCRIPTION) Subst 能够 替换 文件 的 内容, ...
- python_django_admin
admin 是Django提供的基于web的管理工具,是系统管理员用于数据的输入,删除和查询的管理工具. 超级管理员在settings中的集成:INSTALLED_APPS=['django.cont ...
- Dart编程实例 - 相等和关系操作符
Dart编程实例 - 相等和关系操作符 void main() { var num1 = 5; var num2 = 9; var res = num1>num2; print('num1 gr ...
- 运行go代码
go运行go代码 现在,让我们通过创建一个简单的示例,开启我们的go学习旅程,并学习如何编译和执行go程序.打开你最喜欢的文本编辑器,输入以下代码: package main func main() ...