hibernate中对 数据库中datetime类型的处理(假设该字段为 birthdate)
1.如果想插入数据库中的格式为 yyyy-mm-dd hh:mm:ss形式的话
在.hbm.xml文件中将 birthdate定义为
<property
name="birthdate"
column="birthdate"
type="calendar"
not-null="false"(默认值,可以改为true)
length="7"
集装箱运费 />
在对应的类文件(假设为User.java)中做如下定义
private java.util.Calendar birthdate;
在做数据库操作时(如果存放的为系统当前时间)
User user = new User();//假设为映射对象
user.setBirthdate(Calendar.getInstance());//存储系统当前时间
注:如果是页面上输入的字符串,可先将字符串转化为java.util.Date类型,然后再转化为Calendar类型即可
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date birthdate = df.parse(birthyear+'-'+birthmonth+'-'+birthday+' '+birthhour+'-'+birthminute+'-'+birthsecond);//用户页面中输入的日期时间字符串
也可以 import java.util.date;
Calendar cal=Calendar.getInstance();
cal.clear();//注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
cal.setTime(birthdate);
ps.setBirthdate(cal);
--------------------------------------------------------------------------------------------------------------------
2.如果想在数据库中插入格式为日期格式 例如 yyyy-MM-dd
在.hbm文件中将birthdate定义为
<property
name="birthdate"
男生发型 column="birthdate"
type="date"
not-null="false"(可省略)
length="7"(可省略)
/>
在对应的类文件中做如下定义
private java.util.Date birthdate;
在做数据库操作时(如果存放的为系统当前时间)
User user = new User();//假设为映射对象
java.util.Date birthdate = new SimpleDateFormat("yyyy-MM-dd").parse(new java.util.Date());//不做此种转化也可以
ps.setBirthdate(date);//存储系统当前日期
注:如果是页面上输入的字符串,可先将字符串转化为java.util.Date类型即可
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date birthdate = df.parse("birthyear+'-'+birthmonth+'-'+birthday");//用户页面中输入的日期时间字符串
ps.setBirthdate(birthdate);
posted on 2011-06-16 09:56
墙头草 阅读(6712)
评论(0) 编辑 收藏