...有沒有簡單的方法在iBatis的幫助下將Java int []插入到PostgreSql中? (舊的,而不是新的MyBatis)在iBatis的幫助下將int []插入到PostgreSql中
不知道我是否需要自定義類型處理程序,但是我很難找到代碼示例來說明發生了什麼。
在此先感謝。
PS:
因爲原來的張貼,我能夠讀取數據庫的陣列和填充INT []域中的對象。但不能寫入到數據庫但:-(
所以在域模型有:
int[] crap = null;
與getter和setter,cusom財產的處理程序是這樣的:
public class ArrayTypeHandler implements TypeHandlerCallback {
public void setParameter(ParameterSetter setter, Object parameter) throws SQLException {
if(parameter == null){
setter.setNull(Types.ARRAY);
} else {
setter.setArray((Array) Arrays.asList(parameter));
}
}
public Object getResult(ResultGetter getter) throws SQLException {
Array array = getter.getResultSet().getArray(getter.getColumnName());
if(!getter.getResultSet().wasNull()){
return array.getArray();
} else { return null; }
}
public Object valueOf(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
sqlMapConfig.xml:
<typeHandler javaType="java.sql.Array" jdbcType="ARRAY" callback="project.persistance.sqlmapdao.ArrayTypeHandler" />
當試圖更新我得到以下錯誤:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];
---項目/持久性/ sql_xml/Article.xml發生錯誤。
---應用參數映射時發生錯誤。
---檢查updateArticle-InlineParameterMap。
---檢查'廢話'屬性的參數映射。
---原因:java.lang.NullPointerException;嵌套的異常是com.ibatis.common.jdbc.exception.NestedSQLException:
---該錯誤發生在project/persistance/sql_xml/Article.xml中。
---應用參數映射時發生錯誤。
---檢查updateArticle-InlineParameterMap。
---檢查'廢話'屬性的參數映射。
---原因:java.lang.NullPointerException
...有什麼提示我缺少什麼? 感謝
===
...我的工作方式到ClassCastExceptiong :-)
嘗試設置屬性格式:
public void setParameter(ParameterSetter setter, Object parameter) throws SQLException {
int[] c = (int[]) parameter;
setter.setArray((java.sql.Array) c );
}
...以及隨之而來的異常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0];
---發生錯誤在project/persistanc E/sql_xml/Article.xml。
---應用參數映射時發生錯誤。
---檢查updateArticle-InlineParameterMap。
---檢查'廢話'屬性的參數映射。
---原因:java.lang.ClassCastException:java.util.ArrayList;嵌套的異常是com.ibatis.common.jdbc.exception.NestedSQLException:
---該錯誤發生在project/persistance/sql_xml/Article.xml中。
---應用參數映射時發生錯誤。
---檢查updateArticle-InlineParameterMap。
---檢查'廢話'屬性的參數映射。
---原因:java.lang.ClassCastException:java.util.ArrayList
......我今天過了。 感謝
你想插入`一行INT []`的一個整體的其他層或多行? – Nishant 2011-01-14 19:24:51
一行,col類型是整數[] – vector 2011-01-14 19:33:00