sql server 2008 datetime类型如何通过hibernate注解,且正确插入

来源:互联网 发布:qq玫瑰小镇辅助软件 编辑:程序博客网 时间:2024/06/04 17:58

前阵子遇到了一个问题:sql server 2008数据库的datetime2(7)类型的数据,如何通过hibernate来注解,同时如何将时间格式正确转化,然后正确插入到数据库中?

似乎在网上也没有找到一个有效的方法,一日,忽受一大师指点,然后查看java API文档发现:

java.util.Date还有几个有用的子类,其中timestamp就有如下功能

那么,有一个这么一个好用的Timestamp子类,我们就基本上不需要自己编写转换的工具类了。转化方法如下:

其中,保存用户注册时间的控制器部分代码如下:

@RequestMapping(value="openAccount",method=RequestMethod.POST)public String openAccount(String realName,String cellphone,String unative,String email,int userCardType,String userCardNum,String adress,HttpSession session,HttpServletRequest request,RedirectAttributes reAttributes) {User user = new User();user.setRealName(realName);user.setCelphone(cellphone);user.setUnative(unative);user.setEmail(email);user.setUserCardType(userCardType);user.setUserCardNum(userCardNum);user.setAdress(adress);user.setRegisterDate(Timestamp.valueOf(DateUtil.getNowDate()));//insert now timestampSystem.out.println(Timestamp.valueOf(DateUtil.getNowDate()));//search the user information,if it not exist,save the user info firstif(!userServiceImpl.isUserNotExist("userCardNum", userCardNum)) {userServiceImpl.save(user);}//set user to sessionsession.setAttribute("user", user);//generate the 16 card numberString number = GenerateCardNumUtil.generateNum(16);//model.addAttribute("bankcarNum", number);request.setAttribute("bankcarNum", number);reAttributes.addAttribute("bankcarNum", number);return "/account/bindCard.jsp";}


DateUtil类

public class DateUtil {public static String getNowDate() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.000");return sdf.format(new Date());}public static String getNowTime() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.toString();}}

OK,这样,就可以按照我们想要的时间格式将时间戳插入的数据库了!

 

 

 

 

0 0
原创粉丝点击