zoukankan      html  css  js  c++  java
  • sxnx-sms山西农信错误信息+处理方法

    1. 错误1:

    java.lang.NullPointerException

    at com.nantian.sms.service.CoreOnLineTransactionService.findCoreTransactions(CoreOnLineTransactionService.java:128)

    at com.nantian.sms.service.CoreOnLineTransactionService.getCoreRealtimeData(CoreOnLineTransactionService.java:72)

    报错位置代码:Long selelct=(Long) selectRepeatNum.get("dictionaryVaule");//字典表中的唯一序列号   //???如果字典中没有dictonaryValue,会报空指针异常

    解决方法:暂时为数据库s_dictonary中加入数据acctOnlyFlag,202001131510890

    1. 错误2:

    java.lang.ClassCastException: com.nantian.sms.dao.model.Dictionary cannot be cast to java.util.Map

    at com.sun.proxy.$Proxy105.selectDictionaryVaule(Unknown Source)

    at com.nantian.sms.service.CoreOnLineTransactionService.findCoreTransactions(CoreOnLineTransactionService.java:127)

    at com.nantian.sms.service.CoreOnLineTransactionService.getCoreRealtimeData(CoreOnLineTransactionService.java:72)

    错误位置:

    Map  selectRepeatNum=coreOnLineTransactionMapper.selectDictionaryVaule();

    解决方法:

    <select id="selectDictionaryVaule" resultType="map" >

    select dictionaryVaule from s_dictionary where dictionaryKey="acctOnlyFlag"

    </select>
    3.错误3;

    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long

    at com.nantian.sms.service.CoreOnLineTransactionService.findCoreTransactions(CoreOnLineTransactionService.java:129)

    at com.nantian.sms.service.CoreOnLineTransactionService.getCoreRealtimeData(CoreOnLineTransactionService.java:73)

    错误位置:

    Long selelct=(Long) selectRepeatNum.get("dictionaryVaule");

    解决方法:

    Long selelct=Long.parseLong((String) selectRepeatNum.get("dictionaryVaule")) ;
    4.错误4:

    java.lang.IllegalArgumentException: Cannot format given Object as a Date

    at java.text.DateFormat.format(DateFormat.java:310)

    at java.text.Format.format(Format.java:157)

    at com.nantian.sms.service.CoreOnLineTransactionService.noDuplicateRecord(CoreOnLineTransactionService.java:175)

    at com.nantian.sms.service.CoreOnLineTransactionService.findCoreTransactions(CoreOnLineTransactionService.java:134)

    at com.nantian.sms.service.CoreOnLineTransactionService.getCoreRealtimeData(CoreOnLineTransactionService.java:73)

    错误位置:

    String  transTime=coreDataRealtime.getS21TXTM().toString();

    String customizeTime = "HH:mm:ss";

    SimpleDateFormat sdf2 = new SimpleDateFormat(customizeTime);

    String customizeTimeFormat=sdf2.format(transTime);

    解决方法:

    String customizeTimeFormat=sdf2.parse(transTime).toString();(这一步实际是先解析成日期,再转换成字符串)

    1. 错误5:

    java.lang.StringIndexOutOfBoundsException: String index out of range: -4

    at java.lang.String.substring(String.java:1960)

    at com.nantian.sms.service.CoreOnLineTransactionService.noDuplicateRecord(CoreOnLineTransactionService.java:196)

    at com.nantian.sms.service.CoreOnLineTransactionService.findCoreTransactions(CoreOnLineTransactionService.java:134)

    at com.nantian.sms.service.CoreOnLineTransactionService.getCoreRealtimeData(CoreOnLineTransactionService.java:73)

    错误原因:截取空串造成的
    if(cardNumber!=null) {

    //如果卡号不为空

    cardOrAccount=cardNumber;

    System.out.println("cardOrAccount卡号:"+cardOrAccount);

    String cutAccount=cardOrAccount.substring(cardOrAccount.length()- 4);//截取账号或卡号后四位

    allParas.put("cutAccount",cutAccount);//账号或卡号后四位

    allParas.put("cardOrAccount", cardOrAccount);

    解决方案:增加判断条件

    if(cardNumber!=null&&cardNumber.length()!=0)

    原理解释:

    判断一个字符串是否为空,首先就要确保他不是null,然后再判断他的长度。

         String str = xxx;

       ifstr != null && str.length() != 0 { }

    2020-1-25

    1. 错误1:

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'cardOrAccount' not found. Available parameters are [cardNum, param1]

    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:79)

    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)

    at com.sun.proxy.$Proxy102.selectOne(Unknown Source)

    at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:167)

    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)

    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)

    at com.sun.proxy.$Proxy105.selectSignMsg(Unknown Source)

    at com.nantian.sms.service.CoreOnLineTransactionService.querySignMsg(CoreOnLineTransactionService.java:442)

    at com.nantian.sms.service.CoreOnLineTransactionService.dealCoreData(CoreOnLineTransactionService.java:247)

    错误原因:

    Map selectSignMsg(@Param("cardNum")String cardOrAccount);

    原理解释:

    采用#{}的方式把@Param注解括号内的参数进行引用(括号内参数对应的是形参)

    解决方案:

    Map selectSignMsg(@Param("cardOrAccount")String cardOrAccount);

    注意:dao层用map类型接收,需要在mapper.xml文件中声明resultType="map"

    例如:

    /**

     * 查询字典表中dictionaryVaule值

     */

    Map selectDictionaryVaule();

    <!-- 查询字典表中dictionaryVaule值  -->

    <select id="selectDictionaryVaule" resultType="map" >

    select dictionaryVaule from s_dictionary where dictionaryKey="acctOnlyFlag"

    </select>

    1. 错误3

    错误原因:

    org.springframework.dao.DataIntegrityViolationException:

    ### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'mobile' cannot be null

    ### The error may involve defaultParameterMap

    ### The error occurred while setting parameters

    ### SQL: insert into b_sendmsgb(acctOnlyFlag,mobile,msgConent,tradeDate,tradeTime,insertTime,islongMsg) values    (?,?,?,?,?,?,?)

    ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'mobile' cannot be null

    ; SQL []; Column 'mobile' cannot be null; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'mobile' cannot be null

    at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:85)

    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)

    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)

    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)

    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)

    at com.sun.proxy.$Proxy102.insert(Unknown Source)

    at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:279)

    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:57)

    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)

    at com.sun.proxy.$Proxy105.signMsgInsertSendMsgB(Unknown Source)

    at com.nantian.sms.service.CoreOnLineTransactionService.querySignMsg(CoreOnLineTransactionService.java:551)

    原因分析:
    Map signMsgInsertSendMsgB(Map signMsgSaveSendMsgB);

    数据封装在了map中,mapper,xml文件中没有遍历取出手机号,导致报手机号不能为空的错误

    解决方案:

    4.

    错误原因:

    org.springframework.jdbc.UncategorizedSQLException:

    ### Error updating database.  Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect ')' : insert into b_sendmsgb

     

    values

    ### SQL: insert into b_sendmsgb       values

    ### Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect ')' : insert into b_sendmsgb

     

    values

    ; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, expect ')' : insert into b_sendmsgb

     

    values; nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, expect ')' : insert into b_sendmsgb

     

    values

    1. 错误原因5:

    org.springframework.jdbc.UncategorizedSQLException:

    ### Error updating database.  Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'le=? from s_dictionary where

    dict',expect FROM, actual FROM from : update dictionaryVaule set

    dictionaryVaule=? from s_dictionary where

    dictionaryKey="acctOnlyFlag"

    ### SQL: update dictionaryVaule set   dictionaryVaule=? from s_dictionary where   dictionaryKey="acctOnlyFlag"

    ### Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'le=? from s_dictionary where

    dict',expect FROM, actual FROM from : update dictionaryVaule set

    dictionaryVaule=? from s_dictionary where

    dictionaryKey="acctOnlyFlag"

    ; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, error in :'le=? from s_dictionary where

    dict',expect FROM, actual FROM from : update dictionaryVaule set

    dictionaryVaule=? from s_dictionary where

    dictionaryKey="acctOnlyFlag"; nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'le=? from s_dictionary where

    dict',expect FROM, actual FROM from : update dictionaryVaule set

    dictionaryVaule=? from s_dictionary where

    dictionaryKey="acctOnlyFlag"

    解决方案:自己的sql写的有问题

    2010-1-28

    1. 没有找到短信模板处理方式:

     

    1. 错误1:
  • 相关阅读:
    Java Socket编程(三)发送和接收深入
    Java温故知新 集合类
    DataTable到实体类的转换 中庸
    经典设计模式
    门面模式
    java经典反射机制(1)
    装饰模式
    单子模式
    sql经典题目(1)
    如何学习struts框架?
  • 原文地址:https://www.cnblogs.com/curedfisher/p/12241144.html
Copyright © 2011-2022 走看看