今天遇到一个头疼的问题
用HttpServletRequest.getParameterMap()返回一个map,通过这个map的get()得到的是Object类型
所以JdbcTemplate.update(sql,Object)时语法不报错,但是执行会报错,因为数据库中的类型是varchar2;所以列类型不对,使用强转不行,因为Object及时强转也不会是String,toString更不行了,因为toString是改变Object的hashcode,本质上还是对象,我没有找到好的解决方法,只是把对象传过来然后getParameter()方法获取String
public String setSignData(HttpServletRequest HttpServletRequest){
String sql = "insert into ZSYW_PHONE_OPT values(?,?,?,?,?,?,?,?,?)";
String reid = HttpServletRequest.getParameter("reid");
String type = HttpServletRequest.getParameter("type");
String username = HttpServletRequest.getParameter("username");
String useraccount = HttpServletRequest.getParameter("useraccount");
String info = HttpServletRequest.getParameter("info");
String longitude = HttpServletRequest.getParameter("longitude");
String Latitude = HttpServletRequest.getParameter("Latitude");
String address = HttpServletRequest.getParameter("address");
String phone_card = HttpServletRequest.getParameter("phone_card");
int resultjdbc = jdbcTemplate.update(sql,reid,type,username,useraccount,info,longitude,Latitude,address,phone_card);
if (resultjdbc >= 1){
return "{\"result\":\"success\",\"msg\":\"数据添加成功\"}";
}else{
return "{\"result\":\"failed\",\"msg\":\"数据添加失败\"}";
}
}
如果大家有其他解决办法请留言