MySQL数据库和Java的时间类型详细解析


  本文标签:MySQL数据库

  以下的文章主要向大家介绍的是MySQL数据库和Java的时间类型,以下的文章主要讲述的是MySQL数据库中时间类型与Java中所对应的时间类型,以下就是文章的详细内容描述,望你在浏览之后会有所收获  。

  

  MySQL数据库的时间类型有 Java中与之对应的时间类型

  1. date java.sql.Date  
  2. Datetime java.sql.Timestamp  
  3. Timestamp java.sql.Timestamp  
  4. Time java.sql.Time  
  5. Year java.sql.Date  

  

  

  

  对其进行分析

  参考MySQL 的reference manual

  

  Date:

  A date. The supported range is 1000-01-01 to 9999-12-31. MySQL displays DATE values in YYYY-MM-DD format, but allows you to assign values to DATE columns using either strings or numbers.

  只记录日期信息,表示范围为1000-01-01 至 9999-12-31  。

  MySQL数据库 按照YYYY-MM-DD 的方式进行该类字段的显示  。添加该类字段数据,即可以使用字符串类型,也可以使用数字类型

  

  由于Date类型的字段只记录日期信息,所以如果添加的数据中包含了时间信息,该时间信息将会自动被截断  。

  如果要保存时间信息,可以考虑使用DateTime类型  。

  经过测试,发现如下2种方式可以对Date类型字段进行填充:

  按字符串:

  

  1. insert into time_table(CreateDate) values(‘2007-04-09’) 

  按数字:
 

  1. insert into time_table(CreateDate) values(20070409) 

  

  获取可以用java.sql.Date类型获取

  代码为:

  

  1. Date dtDate =rsBuffer.getDate("CreateDate"); 

  

  MySQL数据库与Java的时间类型测试代码如下:(其中,IDBFace 是自己基于JDBC封装的一个简单类, 接受Sql对数据库进行操作)

  1. public void testDate()throws SQLException  
  2. {  
  3. IDBFace DBFace =DBFactory.createMySQLFace();  
  4. DBFace.connect();  

  

  清空表

  

  1. String strDelete ="delete from time_table";  
  2. DBFace.update(strDelete);  

  

  添加

  

  

  1. String strInsert ="insert into time_table(CreateDate) values(20070409)";  
  2. DBFace.update(strInsert);  

  

  

  

  获取

  

  1. String strSelect ="select * from time_table";  
  2. ResultSet rsBuffer =DBFace.select(strSelect);  
  3. while(rsBuffer.next())  
  4. {  
  5. Date dtDate =rsBuffer.getDate("CreateDate");  
  6. System.out.println(dtDate.toString());  
  7. }  
  8. DBFace.close();  
  9. }  
  10.  

  

  执行结果: 2007-04-09,以上的相关内容就是对MySQL数据库与Java的时间类型的介绍,望你能有所收获  。