日期:2014-05-20  浏览次数:20797 次

Spring中jdbctemplet的时候如果有需要插入null的应该怎么处理啊!
Spring中jdbctemplet的时候如果有需要插入null的应该怎么处理啊!

原代码如下啊:
String   strSql   =   "insert   into   table   (   filed1,filed2)   values   (?,?) ";
Object[]   _obj=new   Object[2];
_obj[0]   =   System.currentTimeMillis();
_obj[1]   =   null;
jdbctemplet.update(strSql,_obj);

后台打印出来语句:
insert   into   table   (   filed1,filed2)   values   ( '1184841010859 ', 'null ')

后台提示错误:
PreparedStatementCallback;   uncategorized   SQLException   for   SQL   [insert   into   table   (   filed1,filed2)   values   (?,?)];   SQL   state   [null];   error   code   [17004];   无效的列类型;   nested   exception   is   java.sql.SQLException:   无效的列类型
org.springframework.jdbc.UncategorizedSQLException:   PreparedStatementCallback;   uncategorized   SQLException   for   SQL   [insert   into   table   (   filed1,filed2)   values   (?,?)];   SQL   state   [null];   error   code   [17004];   无效的列类型;   nested   exception   is   java.sql.SQLException:   无效的列类型
java.sql.SQLException:   无效的列类型

Spring的jdbctemplet怎么设置能打印出来这样的语句
insert   into   table   (filed1,filed2)   values   ( '1184841010859 ',null)

===========================这样没问题
如果不插入null就不会出错
String   strSql   =   "insert   into   table   (   filed1,filed2)   values   (?,?) ";
Object[]   _obj=new   Object[2];
_obj[0]   =   System.currentTimeMillis();
_obj[1]   =   "test ";
jdbctemplet.update(strSql,_obj);


------解决方案--------------------
不能设置成如果 NULL 就赋 " " 因为字段类型可能是int这样的话就会抛出异常

自己没分了请 闭月羞花猫 帮发的
感谢他了