jsp前端向后台数据库传空值

例如:

PreparedStatementstmt=null;sql="UPDATETEMPLSETPHONENO=?"+"WHEREEMPNO='000110'";stmt=con.prepareStatement(sql);if(somecondition){stmt.setString(1,name);}else{stmt.setString(1,newphone);}updateCount=stmt.executeUpdate();}



这种方式适用范围有限,当setInt(1,null)或是setFloat(1,null)、setShort(1,null)时都无法正常运行,只有当类型为java对象时可以执行成功,例如setString(1,new String(null)、setBigDecimal(1,new BigDecimal(null))等。

还有一种解决办法是通过判断传入的是否为空去重新new一个对象

if(name==null)name=newString();