罕见报错Cause: org.postgresql.util.PSQLException: The column index is out of range:4,number of columns:3

在写springboot接口的mapper层时把sql复制到xml文件内并改写如下

<select id="getSatisfactionCXPJ" resultType="com.yunque.report.model.ServiceOrderList">
        select a.*
        from sch_dm.dm_service_order_list a
        inner join sch_dw.dw_service_order_list_ex b
        on a.service_order_id=b.service_order_id
        where a.service_type in ('720200003')
        and a.accept_date>=TO_CHAR(to_date(#{complaintMonthStart},'yyyymm'),'yyyy-mm-dd hh24:mi:ss')
        and a.accept_date <![CDATA[<TO_CHAR]]> (to_date(#{complaintMonthEnd},'yyyymm')+interval '1month','yyyy-mm-dd hh24:mi:ss')
        and b.ex_col_07 in ('182','284','285','286','287','288','289','290','291','292','293','294','97')
        and a.ts_deal_result_name in ('非常满意','满意','一般','不满意','很不满意','未解决')
        <if test="orgName!=null and orgName !=''and orgName !='全省' ">
            and b.ex_col_08 =  #{orgName} -- 处理单位
        </if>
        <if test="dealStaffId!=null and dealStaffId !='' ">
            and a.ck_deal_staff_id = #{dealStaffId} -- 处理员工
        </if>
    </select>

调试接口时报错Caused by: org.apache.ibatis.type.TypeException: Error setting non null for parameter #4 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.postgresql.util.PSQLException: The column index is out of range: 4, number of columns: 3.

经发现是由于xml文件不支持  ‘--’  形式下的注释

解决办法

将注释删除或者运用<!-- 注释的内容 -->格式添加注释即可

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 报错可能有多种原因,通常是由于程序语法错误、输入数据格式错误、缺失所需的库或模块、内存不足、硬件故障等问题所导致的。在编写程序时,需要注意代码的正确性、输入数据的格式、模块和库的导入,同时可以通过调试程序和查看错误提示信息来快速定位和解决问题。 ### 回答2: 报错是由于程序中存在语法错误、逻辑错误或者运行时错误引起的。语法错误是指程序不符合编程语言的语法规则,导致编译器无法解析代码。例如,拼写错误、缺少分号等都属于语法错误,编译器在识别到这些错误后会直接报错。 逻辑错误是指程序在表达逻辑思维或者算法设计过程中出现的错误,导致程序不符合预期的结果。这类错误往往是因为程序员在设计算法或者逻辑过程时出现了错误判断或者计算错误。通常逻辑错误不会直接报错,但会导致程序运行结果与预期不符。 运行时错误是指程序在运行过程中出现的错误,可以是由于输入数据错误、资源不足等导致程序异常。例如,除零错误、数组越界、空指针引用等都属于运行时错误,这类错误会导致程序中断或者崩溃。 报错的目的是为了让程序员能够及时发现并修复错误,保证程序的正确性和稳定性。通过报错信息,程序员可以定位错误所在的具体位置,并进行调试和修正。因此,合理地处理报错信息对于程序的开发和维护非常重要。 ### 回答3: 计算机程序在执行过程中会出现错误的原因有很多种。以下是一些常见的错误类型和可能的原因: 语法错误:语法错误是最常见的错误类型之一。当程序违反了编程语言的语法规则时,会出现这种错误。常见的语法错误包括漏掉分号、括号不匹配、变量名拼写错误等。这些错误通常会在编译阶段被检测到。 逻辑错误:逻辑错误是指程序的逻辑推理或控制流程出现问题。这种错误可能导致程序无法按照预期的方式工作或产生错误的输出。例如,一个条件语句的判断条件错误,导致程序执行了错误的分支。 运行时错误:运行时错误是指在程序运行期间发生的错误。这种错误通常是由于执行了非法的操作或访问了无效的内存地址。常见的运行时错误有数组越界、使用空指针、除以零等。 外部错误:外部错误是指程序依赖外部资源时出现的错误。例如,网络连接中断、文件不存在等。这些错误可能导致程序无法正常运行或无法访问所需的数据。 编译器或环境错误:有时程序的报错是由于编译器或开发环境本身的问题引起的。这可能包括编译器版本不兼容、操作系统不支持的功能等。 总之,程序出现错误的原因很多,有些错误是可以通过编译器或调试工具检测到并修复的,而有些错误则需要仔细检查程序代码和逻辑来找到并解决。调试是程序员常常进行的工作,通过分析错误信息和调试工具的输出,可以帮助定位和修复错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值