SimpleJdbcInsert插入时候报错

昨日凡阳 2012-05-23 09:18:15



private SimpleJdbcInsert menuItemJdbcInsert;
this.menuItemJdbcInsert = new SimpleJdbcInsert(this.getDataSource());
this.menuItemJdbcInsert.withTableName("MENU_ITEM")
.usingColumns("MENU_ITEM_PK", "ACTION_BAEN_CLASS", "ACTION_NAME", "MENU_NO", "PARENT_MENU_ITEM_PK"
, "ACTION_PAGE", "IS_ENABLED", "IS_SECURITIES", "ORDER_NO", "IMG_ID"
, "UPDATED_DATE", "UPDATED_BY");

然后执行如下代码时候,报错。



public int createMenuItem(MenuItem menuItem) throws DataAccessException{
int insertCounts = 0;
try{
Map<String, Object> parameters = new HashMap<String, Object>();
Long menuItemPk = new Long(sequence.nextLongValue());
parameters.put("MENU_ITEM_PK", new SqlParameterValue(Types.NUMERIC,menuItemPk));
parameters.put("ACTION_BEAN_CLASS", new SqlParameterValue(Types.VARCHAR,menuItem.getActionBeanClass()));
parameters.put("ACTION_NAME", new SqlParameterValue(Types.VARCHAR,menuItem.getActionName()));
parameters.put("MENU_NO", new SqlParameterValue(Types.VARCHAR,menuItem.getMenuNo()));
if(menuItem.getParentMenuItem() != null){
parameters.put("PARENT_MENU_ITEM_PK",new SqlParameterValue(Types.NUMERIC,menuItem.getParentMenuItem().getMenuItemPk()));
}else{
parameters.put("PARENT_MENU_ITEM_PK","");
}
parameters.put("ACTION_PAGE", new SqlParameterValue(Types.VARCHAR,menuItem.getActionPage()));
parameters.put("IS_ENABLED", new SqlParameterValue(Types.INTEGER,menuItem.getEnabled()?1:0));
parameters.put("IS_SECURITIES", new SqlParameterValue(Types.INTEGER,menuItem.getSecurities() != null && menuItem.getSecurities().equals(true)?1:0));
parameters.put("ORDER_NO", new SqlParameterValue(Types.INTEGER,menuItem.getOrderNo()));
parameters.put("IMG_ID", new SqlParameterValue(Types.VARCHAR,menuItem.getImgId()));
parameters.put("UPDATED_DATE", new SqlParameterValue(Types.DATE,menuItem.getUpdatedDate()));
parameters.put("UPDATED_BY", new SqlParameterValue(Types.VARCHAR,menuItem.getUpdatedBy()));
// parameters.put("CREATED_DATE", new SqlParameterValue(Types.DATE,menuItem.getCreatedDate()));
// parameters.put("CREATED_BY", new SqlParameterValue(Types.VARCHAR,menuItem.getCreatedBy()));
insertCounts = menuItemJdbcInsert.execute(parameters);
if (insertCounts > 0)
menuItem.setMenuItemPk(menuItemPk);
return insertCounts;
}catch (DataAccessException e) {
logger.error(e.getMessage());
}
return 0;
}


报错为:


ERROR: com.feib.stms.dao.jdbc.MenuItemJdbcDao - PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO MENU_ITEM (MENU_ITEM_PK, ACTION_BAEN_CLASS, ACTION_NAME, MENU_NO, PARENT_MENU_ITEM_PK, ACTION_PAGE, IS_ENABLED, IS_SECURITIES, ORDER_NO, IMG_ID, UPDATED_DATE, UPDATED_BY) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; SQL state [null]; error code [17004]; 資料欄類型無效; nested exception is java.sql.SQLException: 資料欄類型無效
...全文
190 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧