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

前阵子遇到了一个问题: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 timestamp
		System.out.println(Timestamp.valueOf(DateUtil.getNowDate()));
		//search the user information,if it not exist,save the user info first
		if(!userServiceImpl.isUserNotExist("userCardNum", userCardNum)) {
			userServiceImpl.save(user);
		}
		//set user to session
		session.setAttribute("user", user);
		//generate the 16 card number
		String 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值