hibernate 中 对数据库中datetime类型的处理

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);






{0:yyyy-MM-dd HH:mm:ss.fff}:使用24小时制格式化日期
{0:yyyy-MM-dd hh:mm:ss.fff}:使用12小时制格式化日期

猜你喜欢

转载自fox-leon.iteye.com/blog/1089895
今日推荐