将new Date() 类型转换成Timestamp后插入数据库,仍旧丢失时分秒
数据库是SqlServer数据库,字段类型是datetime
//登录
public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userService.findUserByUsername(username);
/*System.out.println("数据库时间:"+user.getRecentLoginTime());*/
boolean loginpass = userService.login(username,password);
if (loginpass == false){
return mapping.findForward("login_fail");
}else {
if (user.isDisabled()==false){
request.getSession().setAttribute("user",user);
Date recentLoginTime = new Date();
Timestamp timestamp = new Timestamp(recentLoginTime.getTime());
user.setRecentLoginTime(timestamp);
userService.updateUser(user,request);
/*System.out.println("时间:"+user.getRecentLoginTime());*/
logger.info("用户"+username+"登录成功");
return mapping.findForward("login_success");
} else {
return mapping.findForward("login_disabled");
}
}
}
debug的时候时间是对的
但是插入数据库之后丢失了时分秒
想知道怎么解决这个问题以及导致这个问题的原因