1. 程式人生 > >net.sf.cglib.beans.BulkBeanException 資料列為空,不能set值,報錯

net.sf.cglib.beans.BulkBeanException 資料列為空,不能set值,報錯

 SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];  
--- The error occurred in com/winclass/cet/persistence/cihui/sql/GlossaryVO.xml. 
--- The error occurred while applying a result map. 
--- Check the GlossaryVO.getThemeByWordName-AutoResultMap. 
--- The error happened while setting a property on the result object. 

net.sf.cglib.beans.BulkBeanException


方法一:

最後通過baidu一下知道了異常Cause: net.sf.cglib.beans.BulkBeanException引起的原因是資料庫表中有一個可以為空的列(列的型別是number),當查詢的時候由於該列沒有值ibtis會用null去初始化該列,但把null型別賦值給number型別的值時,出現如上異常資訊。解決方法是找到ibatis配置檔案sql-t.xml中的

<resultMap id="result-task-obj" class="Task_Obj">
<result property="year" column="YEAR"/>
</resultMap>


<result property="year" column="YEAR"/>
修改成
<result property="year" column="YEAR" nullValue="0"/>
即當YEAR列對應的值為null時,會用0值初始化year屬性(year對應其類中的資料型別是int)。修改後系統執行正常。
資料型別是int、float、double  都可以使用此方法。

方法二:

eg 2:

當時我在猜想會不會跟Bulk這個單詞有關?就立馬想到是model裡面屬性值不足以裝下resultMap裡面某個欄位的值,會不會是型別問題?我一看,表裡面的是統計失敗次數的Integer(Sybase IQ資料庫),就把

Java程式碼private int calling_answer;   private int calling_drop;   private int called_answer;

private int calling_answer; private int calling_drop;private int called_answer; private int called_drop;
全換成Integer型別了,一除錯終於好了!
以後model裡面的型別都要設定成封裝型別,避免類似的錯誤  

自己試驗得出:

【1】. <resultMap id="ThemeVO" class="ThemeVO">
      <result property="year" column="year" nullValue="0" />
  <result property="yuefeng" column="yuefeng" nullValue="0" />
  <result property="source" column="source" nullValue="0" />
  </resultMap>
     <!-- 單詞的相關試題 一道 zhulin 2011-8-27 -->
     <select id="getThemeByWordName" parameterClass="String" resultMap="ThemeVO">
        select * from mv_cet_tiku where QUESTIONS=13 and contains(title, #wordname#)>0 and  rownum < 2
     </select> 

注意:resultMap的id和resultMap的resultMap是一致的

【2】. select NVL(year,0) from mv_cet_tiku where QUESTIONS=13 and contains(title, 'able')>0 and  rownum < 2   

將number的欄位nvl一下,執行也成功。



相關推薦

net.sf.cglib.beans.BulkBeanException 資料列為不能set

 SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];   --- The error occurred in com/winclass/cet/persistenc

net.sf.cglib.beans.BulkBeanException錯誤

查詢結果中包含null的項時會丟擲如下錯誤: -- Cause: net.sf.cglib.beans.BulkBeanException     at org.springframework.jdbc.support.AbstractFallbackSQLExceptio

net.sf.cglib.beans.BulkBeanException 解決辦法

最近在用 ibatis 的時候,丟擲了這樣一個異常,還是頭一次見這個異常。對於不認識的東西第一反應就是 Google ,把這個異常原封不動的粘到搜尋框中,找到了這樣的一條連結:http://ibatis.10938.n7.nabble.com/problem-r

Mysql資料庫亂碼問題(資料庫連結、資料庫格式、資料表列的字符集都是UTF8但還是會的解決方法)

在做專案的時候遇到一個問題。插入資料的時候中文出現亂碼問題。檢視程式碼中與資料庫的連結,已經設定了UTF-8的編碼,檢視資料庫,資料庫格式也是UTF-8格式,檢視資料表的列,屬性也是UTF-8,檢視程式碼的編碼格式也是UTF-8,但是在插入資料的時候中文還是會出現亂碼問題。 最

關於專案部署到伺服器上介面資料正常狀態碼500可能是session問題

剛開始一直報500錯誤,頁面不提示,也沒想著去檢視日誌檔案。好幾天了,一看日誌,發現是這個問題。問了一下,是session的問題、 2017/07/25 16:57:49 [error] 2300#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal e

springboot專案下service層注入其他service時沒有新增@Autowired專案中不就是指標

這個問題讓我折騰了快一天,因為這個方法是個通用方法,在別的service都能執行成功,就是在此service下執行不成功, 無意間發現了@autowired註解沒有加,協同開發不知道誰不小心刪除了吧。但是springboot也不報錯, try...catch後總是報空指

pyodps 獲取表資料向表寫資料行記錄Record

阿里雲pyodps文件 http://pyodps.readthedocs.io/zh_CN/latest/base-tables-zh.html 獲取表資料,向表寫資料,行記錄Record報錯 報錯資訊: >>> with mytable.open_

資料庫--表的約束--屬性預設列描述主鍵唯一鍵自增長外來鍵等等

表的約束 空屬性及非空屬性 預設值 列描述 zerofill 主鍵 自增長 索引 唯一鍵 外來鍵 表的約束很多,這裡主要介

python資料型別--數字布林字串

數字: int整型 long長整型:無限大小的整數,整數最後一位是大寫的或小寫的L 在py3中整數如果過長溢位會自動轉換為long型 浮點型:(floating point real values) - 浮點型由整數部分與

怎麼清arraylist的能清乾淨嗎

package Test;import java.util.ArrayList;import java.util.List;public class ClearList {    public static void main(String[] args){        L

Mybatis查詢查詢一個欄位的時候沒有並且返回null指標的解決方法

select IFNULL (MAX(custid), 0) AS custId from user_work_enroll_cust where phone=#{phone}MYsql這裡我們使用IFNULL函式處理即可其他資料在SQLSERVER中我們可以這樣寫:sele

批量上傳檔案時關於post請求NET:ERR_CONNECTION_RESET

前言    新手做前端大專案,遇到坑真是接踵而來。這次遇到的是使用formData傳檔案的時候,如果上傳檔案數太多,總是報NET:ERR_CONNECTION_RESET的錯,百度好久也不知道什麼原因,後來自己慢慢摸索,可能原因有二。一、檢視一下tomcat配置檔案serve

Maven+SSM查詢不到資料也不會返回為null 解決方案

錯誤問題 當我使用Maven+SSM寫登入案例的時候,mybatis的對映檔案中的sql直接放在navicat中能查詢出值,但是程式中的返回值卻是null,控制檯也不會報錯,沒有錯誤資訊的提示。 解決方案 首先檢查配置檔案 <?xml vers

Nginx 作為代理伺服器載入JS檔案net::ERR_CONTENT_LENGTH_MISMATCH

檢視nginx 日誌發現報錯 [[email protected] logs]# tail error.log 2016/11/11 15:04:20 [crit] 8655#0: *21 open() "/usr/local/nginx/

java.net.SocketException(permission denied)安卓端寫的TCP協議軟體 原因是建立的套接字沒有限權對外連線。

安卓端寫的TCP協議軟體報錯 原因是建立的套接字沒有限權對外連線。在AndroidManifest.xml中,加上這一句話,取得許可權。 <uses-permission android:name="android.permission.INTERNET" />

在一組資料中獲取最大最小平均值的js寫法

function refreshPrice() { var rows = $("#detailDataGrid").datagrid("getRows");  //獲取當前頁的所有行 //宣告平均值、最小值、最大值 var sum = 0; var min = rows[

ruby遍歷資料夾下所有檔案輸出檔名(migrate處理)

1.例子: //註釋:file_path檔案路徑 def traverse_dir(file_path) if File.directory? file_path Dir.foreach(file_path) do |file|

ViewState 資料太大影響效能導致頁面

案件背景:工作中的一個報表之前一直工作正常,但是有一天突然使用者開啟報錯,提示view state 無效。檢查程式碼發現沒有問題,檢查前臺頁面後發現報表顯示後的viewstate大小居然達到40M以上。通過在頁面增加下面兩個事件的程式碼,把view state 儲存到文字檔案

解決linux系統下因分割槽目錄劃分過小,導致tomcat使用系統臨時資料夾(/tmp)沒有足夠空間而的問題

1. 故障現象. B/S應用進行檔案上傳後,系統反饋:沒有足夠的磁碟空間(No enough space available). 2. 故障分析 檢查檔案佔用情況如下: [root@Qa2 /]# df -h Filesystem

net.sf.json中修改和過濾已生成的json資料的簡單講解

// 查詢所有父類板塊 public String findAllFatherBoard() throws IOException { // 接收查詢的結果集 List<ForumBoard> boardList = boardDAO .get