使用JDBC操作时间的注意点

news/2024/5/18 23:27:20 标签: jdbc, 数据库, mysql, hibernate

在Mysql数据库中,时间类型有3种

  • Time 时:分:秒
  • Date 年:月:日
  • TimeStamp。年:月:日:时:分:秒

Time

public Time(int hour, int minute, int second) {
     super(70, 0, 1, hour, minute, second);
}

Date

public Date(int year, int month, int day) {
    super(year, month, day);
}

TimeStamp

@Deprecated
public Timestamp(int year, int month, int date, int hour, int minute, int second, int nano) {
    super(year, month, date, hour, minute, second);
    if (nano > 999999999 || nano < 0) {
    throw new IllegalArgumentException("nanos > 999999999 or < 0");
    }
nanos = nano;
}

我们知道,除了Dao层之外我们都是不建议在Bean中java.sql.*;这个包下的所有类。包括上面这三个,即使我们需要操作到时间的时候,也是建议使用java.util.Date这个类的。所以在设计程序持久化时间的时候就会产生一个问题,就是时间类型的转换,转换不好,会导致数据丢失。往往格式转换都是在Dao执行的。

    //创建一个java.util.Date的实例对象
    Date date =new Date(System.currentTimeMillis());

    //格式转换
    Timestamp timestamp_sql=new Timestamp(date.getTime());
    Time time_sql=new Time(date.getTime()); 
    java.sql.Date date_sql=new java.sql.Date(date.getTime());

hibernate对日期格式的转换">Hibernate对日期格式的转换

我们知道,Hibernate极大的方便我们对数据库的访问操作。涉及Bean对象中如果含有java.util.Date对象,而数据库中的保存时间的字段又是
java.sql.Time、java.sql.Date、java.sql.TimeStamp;这三种之一的话。那么我们仅需要在配置文件中配置。

<property name="createDate" type="timestamp" column="createDate"></property>
<property name="createDate" type="time" column="createDate"></property>
<property name="createDate" type="date" column="createDate"></property>

注意到上面的type属性字段了吗。对了我们在写映射文件的时候只需要指定Mysql数据库中的对应字段的类型就可以了。


http://www.niftyadmin.cn/n/892112.html

相关文章

一秒看懂SQL Server 2008日期时间类型区别

一开始学习数据库的基本数据类型&#xff0c;都为其数据类型的种类搞晕。为什么数据库需要那么多的数据类型&#xff0c;一个时间也可以分出6中数据类型。显然老微不是吃饱了撑着。这么做肯定是有目的的。假设当你的公司需要存储超过100万条数据&#xff0c;我们就假设使用int和…

网站整合CKEditor和CKFinder(Java版)

准备文件 CKEditor: 在 http://ckeditor.com/download &#xff0c;可以下载到各种版本的CKEditor&#xff0c;包括完整版full、标准版standard、基础版basic等。同时也可定制的下载&#xff0c;可以选择Toolbar类型、插件、语言等。 CKEditor for java: 在http://ckeditor.c…

JS插件之HighSlider

当我们有一块很大的文本要再textarea中显示&#xff0c;但是又碍于文本块太大&#xff0c;放下之后&#xff0c;影响我们的网站的整体布局。显示一部分却又让部分重要信息得不到展示。这时候&#xff0c;我们就想到了用HighSlider。先看一下效果图。我使用官网提供的。 怎么…

Struts2项目s:debug标签的问题

今天在使用<s:debug>标签做测试的时候&#xff0c;总会出现一个问题&#xff0c; 十二月 16, 2015 10:32:56 上午 org.apache.catalina.core.ApplicationDispatcher invoke 严重: Servlet.service() for servlet jsp threw exception java.util.ConcurrentModification…

完美解决SSH项目Hibernate update时候org.springframework.dao.DuplicateKeyException

相信大家在使用Hibernate对查询结果进行更新的时候都会遇见过同样的问题。 关键的问题是 a different object with the same identifier value was already associated with the session 意思是有另外一个对象拥有的那个ID&#xff0c;与Session中已经关联的ID一致。就是说那…

s:if标签分析

打开/struts-tag.tld <!--自定义标签的标记--> <tag><!--标签描述&#xff0c;可有可无--><description><![CDATA[If tag]]></description><!--指定标签名为if--><name>if</name><!--指定标签处理类为IfTag-->&l…

Java 实现RMI入门程序

因为是Java内置的功能&#xff0c;所以不需要引入任何额外的Jar包 首先我们定义一个接口&#xff0c;这个接口必须继承Remote package cn.blueboz.rmi;import java.rmi.Remote; import java.rmi.RemoteException;/*** Created by Administrator on 2016/4/20.* 定义一个远程接…

Jaxws学习笔记(一)入门程序之服务接口发布

在Java中一共有三种WebService规范&#xff0c;Jax-WS,JAXM,Jax-RS。 Jax-WS(Java Api for XML-Based WebService)JAXM支持文件传输&#xff0c;暴露更多底层细节&#xff0c;不建议使用Jax-RS是针对Restful风格定制的一套Web服务规范&#xff08;建议重点掌握&#xff09; Ja…