我有一個使用JDBI(JDBC包裝器)訪問PostgreSQL數據庫的java程序。其中一列是陣列數據類型(mycolumn integer[])
。使用JDBI獲取Postgres數組數據
我在mapper類中使用了什麼?我認爲resultSet.getArray("mycolumn")
是正確的做法,但我不確定如何從返回的java.sql.Array
對象中獲取數據。
有關如何做到這一點的任何提示或良好的鏈接?
我有一個使用JDBI(JDBC包裝器)訪問PostgreSQL數據庫的java程序。其中一列是陣列數據類型(mycolumn integer[])
。使用JDBI獲取Postgres數組數據
我在mapper類中使用了什麼?我認爲resultSet.getArray("mycolumn")
是正確的做法,但我不確定如何從返回的java.sql.Array
對象中獲取數據。
有關如何做到這一點的任何提示或良好的鏈接?
Array array = resultSet.getArray("mycolumn");
return nonNull(array) ? (Integer[])array.getArray() : null ;
如何註冊這段代碼以便'@ MapResultAsBean'可以使用它? – Jorn
我們不能使用@MapResultAsBean來解決這個問題。我們需要編寫一個映射器 – Manikandan
我的意思是我想要一個帶'List
提示:http://docs.oracle.com/javase/6/docs/api/java/sql/Array.html,'Array.getArray()'。 –
雖然它返回一個對象...我不知道它是什麼類型,並且文檔沒有使我更清楚。 – Amasuriel
底層數組類型由數據庫字段類型決定。您可以從JDBC元數據API中獲取詳細信息。或者,在對象上使用'getClass()'並以這種方式檢查它。 –