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:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM