Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in config/sql/hbpp/hbpp04/Hbpp04021000Dao.xml.  
--- The error occurred while applying a parameter map.  
--- Check the Hbpp04021000Dao.procParaMap.  
--- Check the statement (update procedure failed).  
--- Cause: java.lang.NullPointerException
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:273)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
... 133 more
知道是空指针异常,但是不知道具体是哪的问题,是调用问题还是我存储过程写的有问题
    <parameterMap id="procParaMap" class="HashMap">
        <parameter property="strLxId" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="strLxType" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="strLxNo" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="strLxCode" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="strLxName" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="strLxJm" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="strLxSm" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="strShowName" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="numShowOrder" jdbcType="int" javaType="java.lang.String" mode="IN"/>
        <parameter property="strValidFlg" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="strOperateStatus" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="strComments" jdbcType="nvarchar" javaType="java.lang.String" mode="IN"/>
        <parameter property="strCreateId" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="strModifyId" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="strDelFlg" jdbcType="char" javaType="java.lang.String" mode="IN"/>
        <parameter property="resultValue" jdbcType="char" javaType="java.lang.String" mode="OUT"/>
    </parameterMap>    <procedure id="call_hjp_bpp_lxxx_operate" parameterMap="procParaMap" resultClass="HitListDataVo">
        {call hjp_bpp_lxxx_operate(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }
    </procedure>
存储过程 IF EXISTS(SELECT * FROM dbo.sysobjects WHERE xtype = 'p' AND [NAME]='hjp_bpp_lxxx_operate') BEGIN 
  DROP PROCEDURE [dbo].[hjp_bpp_lxxx_operate] 
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- EXEC hjp_bpp_lxxx_operate '','','','',''
/**
 * 路线信息操作
 *
 * @param strLxId char(40) --路线主键
 * @param strLxType char(2) --路线类型
 * @param strLxNo nvarchar(100) --路线编号
 * @param strLxCode nvarchar(20) -- 路线代号
 * @param strLxName nvarchar(100) --路线名称
 * @param strLxJm nvarchar(20) --路线简码
 * @param strLxSm nvarchar(100) --路线说明
 * @param strShowName nvarchar(100) --显示名称
 * @param numShowOrder int --显示顺序
 * @param strValidFlg char(1) --有效标识
 * @param strOperateStatus char(2) --操作状态
 * @param strComments nvarchar(100) --备注
 * @param strCreateId char(40) --创建用户主键
 * @param datCreateTime datetime --创建时间
 * @param strModifyId char(40) --修改用户主键
 * @param datModifyTime datetime --修改时间
 * @param strDelFlg char(1) --删除标识
 *
 * @resultValue 1:新建成功 2:修改成功 3:删除成功 -1:数据已被删除 -2:数据已被修改 -3:数据已被引用 -4:编号已存在 -99:异常
 *
 * @author lichang 2011-01-01
 */
CREATE PROCEDURE [dbo].[hjp_bpp_lxxx_operate](
    @strLxId char(40),
    @strLxType char(2),
    @strLxNo nvarchar(100),
    @strLxCode nvarchar(20),
    @strLxName nvarchar(100),
    @strLxJm nvarchar(20),
    @strLxSm nvarchar(100),
    @strShowName nvarchar(100),
    @numShowOrder int,
    @strValidFlg char(1),
    @strOperateStatus char(2),
    @strComments nvarchar(100),
    @strCreateId char(40),
    @datCreateTime datetime,
    @strModifyId char(40),
    @datModifyTime datetime,
    @strDelFlg char(1),
    @resultValue varchar(100) output
)
AS
BEGIN
--设置事务自动提交
SET IMPLICIT_TRANSACTIONS OFF
--开始捕获异常
BEGIN TRY
--开始事务
BEGIN TRANSACTION
--不返回计数
SET NOCOUNT ON    --新建
    declare @OPERATESTATUS_01 char(2)
    set @OPERATESTATUS_01='01'    --修改
    declare @OPERATESTATUS_02 char(2)
    set @OPERATESTATUS_02='02'    --删除
    declare @OPERATESTATUS_03 char(2)
    set @OPERATESTATUS_03='03'--校验**********************************************************************************************    --修改、删除
    if (@strOperateStatus = @OPERATESTATUS_02 or @strOperateStatus = @OPERATESTATUS_03) begin        --数据已被删除 返回-1
        declare @dataCount int
        set @dataCount = (select count(strLxId) from hjt_edb_lx_info where strLxId = @strLxId and strDelFlg = '0')
        if @dataCount = 0 begin
            set @resultValue = '-1'
            return
        end        --数据已被修改 返回-2
        declare @newTime datetime
        set @datModifyTime = (select CONVERT(varchar, getdate(), 120 ))
        set @newTime = (select datModifyTime from hjt_edb_lx_info where strLxId = @strLxId and strDelFlg = '0')
        if @newTime != @datModifyTime begin
            set @resultValue = '-2'
            return
        end        --数据已被引用 返回-3
        declare @usedCount int
        set @usedCount = (select sum(queryCount) queryCount from (
                            select count(strLxId) queryCount from hjt_edb_gxlx_relation
                            where strLxId = @strLxId and strDelFlg = '0'
                            union
                            select count(strSxlxId) queryCount from hjt_edb_wlqd_info
                            where strSxlxId = @strLxId and strDelFlg = '0'
                            union
                            select count(strMxlxId) queryCount from hjt_edb_wlqd_info
                            where strMxlxId = @strLxId and strDelFlg = '0'
                            union 
                            select count(strFwlxId) queryCount from hjt_edb_wlqd_info
                            where strFwlxId = @strLxId and strDelFlg = '0'
                            )A )
        if @usedCount != 0 begin
            set @resultValue = '-3'
            return
        end    end    --新建、修改
    if (@strOperateStatus = @OPERATESTATUS_01 or @strOperateStatus = @OPERATESTATUS_02) begin        --编号已存在 返回-4
        declare @noCount int
        set @noCount = (select count(strLxId) from hjt_edb_lx_info where strLxId != @strLxId and strLxNo = @strLxNo and strDelFlg = '0')
        if @noCount != 0 begin
            set @resultValue = '-4'
            return
        end
    end--执行**********************************************************************************************    --新建
    if (@strOperateStatus = @OPERATESTATUS_01) begin
        set @resultValue = '1' 
    set @strLxId = (select 'HIT'+left(replace(newid(),'-',''),32))
    insert into hjt_edb_lx_info
    values(@strLxId,@strLxType,@strLxNo,@strLxCode,@strLxName,@strLxJm,@strLxSm,@strShowName,@numShowOrder,'1','00',@strComments,@strCreateId,getDate(),@strModifyId,getDate(),'0')
    end
    --修改
    if (@strOperateStatus = @OPERATESTATUS_02) begin
        set @resultValue = '2'
    update hjt_edb_lx_info 
    set strLxType = @strLxType,strLxNo = @strLxNo,strLxCode = @strLxCode,strLxName = @strLxName,strLxJm = @strLxJm,strLxSm = @strLxSm,strShowName = @strShowName,strModifyId = @strModifyId,datModifyTime = getDate(),strComments = @strComments
    where strLxId = @strLxId
    end    --删除
    if (@strOperateStatus = @OPERATESTATUS_03) begin
        set @resultValue = '3'
    delete from hjt_edb_lx_info where strLxId = @strLxId
    end
--返回计数
SET NOCOUNT OFF
--提交事务
COMMIT
--结束捕获异常
END TRY
--抛出异常
BEGIN CATCH    PRINT @@ERROR    --异常返回值-99
    SET @resultValue = '-99'    IF @@Trancount>0 BEGIN
        ROLLBACK TRANSACTION
    ENDEND CATCH
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO执行删除操作的时候报错~