删除一条记录 后台运行错误信息是:
org.springframework.dao.DataIntegrityViolationException: SqlMapClient operation; SQL [];   
--- The error occurred while applying a parameter map.  
--- Check the COMPANY.selectCount-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: java.sql.SQLException: ORA-01722: invalid number
; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the COMPANY.selectCount-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: java.sql.SQLException: ORA-01722: invalid numberCaused by: com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred while applying a parameter map.  
--- Check the COMPANY.selectCount-InlineParameterMap.  
--- Check the statement (query failed).  
--- Cause: java.sql.SQLException: ORA-01722: invalid number但这时的数据库中记录已被删除 
怎么解决啊?
急!!!!!!!

解决方案 »

  1.   

    COMPANY
    这个IBATIS的配置文件贴出来~
      

  2.   

    请去查看你操作的相关表字段,number类型插入的数据类型不应该是字符类型!
      

  3.   

    多谢二位啊。
    配置信息是:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="COMPANY"> <typeAlias alias="company"
    type="com.land.landpermission.company.bean.Company" /> <insert id="insert" parameterClass="company">
    insert into LP_company (ID, APPID, PROVID, CITY, DISTRICT,
    TYPEID, PARENTID, COMNAME, CHARGER, LICENSE, OPENBANK, ACCOUNT,
    NATAXNO, LOTAXNO, STATUS, MEMO, ADDDATE, ADDTIME, REMARK1,
    REMARK2, REMARK3, REMARK4) values ( #id# , #appId# , #provId# ,
    #city# , #district# , #typeId# ,#parentId# , #comName# ,
    #charger# ,#license# , #openBank# , #account# , #naTaxNo# ,
    #loTaxNo# , #status# , #memo# , #addDate# , #addTime# ,
    #re1# , #re2# , #re3# , #re4# )
    </insert> <select id="selectCount" parameterClass="java.util.Map"
    resultClass="java.lang.Integer">
    SELECT COUNT(ID) FROM LP_COMPANY
    <dynamic prepend="where">
    <isNotEmpty prepend="and" property="id">
    ID = #id#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="appId">
    APPID = #appId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="provId">
    PROVID = #provId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="city">
    CITY = #city#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="district">
    DISTRICT = #district#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="typeId">
    TYPEID = #typeId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="parentId">
    PARENTID = #parentId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="comName">
    COMNAME = #comName#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="charger">
    CHARGER = #charger#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="license">
    LICENSE = #license#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="openBank">
    OPENBANK = #openBank#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="account">
    ACCOUNT = #account#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="naTaxNo">
    NATAXNO = #naTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="loTaxNo">
    LOTAXNO = #loTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="status">
    STATUS = #status#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="memo">
    MEMO = #memo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="addDate">
    ADDDATE = #addDate#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="addTime">
    ADDTIME = #addTime#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re1">
    REMARK1 = #re1#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re2">
    REMARK2 = #re2#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re3">
    REMARK3 = #re3#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re4">
    REMARK4 = #re4#
    </isNotEmpty>
    </dynamic>
    </select> <select id="listByMap" parameterClass="java.util.Map"
    resultClass="company">
    SELECT ID, APPID, PROVID, CITY, DISTRICT, TYPEID, PARENTID,
    COMNAME, CHARGER, LICENSE, OPENBANK, ACCOUNT, NATAXNO, LOTAXNO,
    STATUS, MEMO, ADDDATE, ADDTIME, REMARK1, REMARK2, REMARK3,
    REMARK4 FROM LP_COMPANY
    <dynamic prepend="where">
    <isNotEmpty prepend="and" property="id">
    ID = #id#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="appId">
    APPID = #appId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="provId">
    PROVID = #provId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="city">
    CITY = #city#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="district">
    DISTRICT = #district#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="typeId">
    TYPEID = #typeId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="parentId">
    PARENTID = #parentId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="comName">
    COMNAME = #comName#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="charger">
    CHARGER = #charger#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="license">
    LICENSE = #license#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="openBank">
    OPENBANK = #openBank#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="account">
    ACCOUNT = #account#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="naTaxNo">
    NATAXNO = #naTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="loTaxNo">
    LOTAXNO = #loTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="status">
    STATUS = #status#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="memo">
    MEMO = #memo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="addDate">
    ADDDATE = #addDate#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="addTime">
    ADDTIME = #addTime#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re1">
    REMARK1 = #re1#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re2">
    REMARK2 = #re2#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re3">
    REMARK3 = #re3#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re4">
    REMARK4 = #re4#
    </isNotEmpty>
    </dynamic>
    </select> <update id="update" parameterClass="company">
    UPDATE LP_COMPANY
    <dynamic prepend="SET">
    <isNotEmpty prepend="," property="appId">
    APPID = #appId#
    </isNotEmpty>
    <isNotEmpty prepend="," property="provId">
    PROVID = #provId#
    </isNotEmpty>
    <isNotEmpty prepend="," property="city">
    CITY = #city#
    </isNotEmpty>
    <isNotEmpty prepend="," property="district">
    DISTRICT = #district#
    </isNotEmpty>
    <isNotEmpty prepend="," property="typeId">
    TYPEID = #typeId#
    </isNotEmpty>
    <isNotEmpty prepend="," property="parentId">
    PARENTID = #parentId#
    </isNotEmpty>
    <isNotEmpty prepend="," property="comName">
    COMNAME = #comName#
    </isNotEmpty>
    <isNotEmpty prepend="," property="charger">
    CHARGER = #charger#
    </isNotEmpty>
    <isNotEmpty prepend="," property="license">
    LICENSE = #license#
    </isNotEmpty>
    <isNotEmpty prepend="," property="openBank">
    OPENBANK = #openBank#
    </isNotEmpty>
    <isNotEmpty prepend="," property="account">
    ACCOUNT = #account#
    </isNotEmpty>
    <isNotEmpty prepend="," property="naTaxNo">
    NATAXNO = #naTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="," property="loTaxNo">
    LOTAXNO = #loTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="," property="status">
    STATUS = #status#
    </isNotEmpty>
    <isNotEmpty prepend="," property="memo">
    MEMO = #memo#
    </isNotEmpty>
    <isNotEmpty prepend="," property="addDate">
    ADDDATE = #addDate#
    </isNotEmpty>
    <isNotEmpty prepend="," property="addTime">
    ADDTIME = #addTime#
    </isNotEmpty>
    <isNotEmpty prepend="," property="re1">
    REMARK1 = #re1#
    </isNotEmpty>
    <isNotEmpty prepend="," property="re2">
    REMARK2 = #re2#
    </isNotEmpty>
    <isNotEmpty prepend="," property="re3">
    REMARK3 = #re3#
    </isNotEmpty>
    <isNotEmpty prepend="," property="re4">
    REMARK4 = #re4#
    </isNotEmpty>
    </dynamic>
    WHERE ID = #id#
    </update> <delete id="delete" parameterClass="java.util.Map">
    DELETE FROM LP_COMPANY
    <dynamic prepend="where">
    <isNotEmpty prepend="and" property="id">
    ID = #id#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="appId">
    APPID = #appId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="provId">
    PROVID = #provId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="city">
    CITY = #city#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="district">
    DISTRICT = #district#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="typeId">
    TYPEID = #typeId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="parentId">
    PARENTID = #parentId#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="comName">
    COMNAME = #comName#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="charger">
    CHARGER = #charger#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="license">
    LICENSE = #license#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="openBank">
    OPENBANK = #openBank#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="account">
    ACCOUNT = #account#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="naTaxNo">
    NATAXNO = #naTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="loTaxNo">
    LOTAXNO = #loTaxNo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="status">
    STATUS = #status#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="memo">
    MEMO = #memo#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="addDate">
    ADDDATE = #addDate#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="addTime">
    ADDTIME = #addTime#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re1">
    REMARK1 = #re1#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re2">
    REMARK2 = #re2#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re3">
    REMARK3 = #re3#
    </isNotEmpty>
    <isNotEmpty prepend="and" property="re4">
    REMARK4 = #re4#
    </isNotEmpty>
    </dynamic>
    </delete></sqlMap>
      

  4.   

    这个问题显然不是删除引起的,而是由查询引起的。
    你看一下,删除成功后,向查询跳转时,都带了哪些值,这些值对应查询里面的占位符是否有效。
    invalid number ,很可能是需求一个number类型的值,而实际是string类型的。
      

  5.   

    <select id="selectCount" parameterClass="java.util.Map" 
    resultClass="java.lang.Integer"> 
    SELECT COUNT(ID) FROM LP_COMPANY 你跟踪一下,你在执行这个查询之前,传入的Map中,有一个值不是number,由于这个值导致的异常~
      

  6.   

    你看看selectCount这个查询吧,ORA-01722: invalid number 
      

  7.   

    ibatis 删除记录的时候返回的是个整数 表示删除多少行。
    如果没有删除到记录,就返回个空