龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要向大家介绍的是 MySQL 数据库和Java的时间类型,以下的文章主要讲述的是MySQL数据库中时间类型与Java中所对应的时间类型,以下就是文章的详细内容描述,望你在浏览之

以下的文章主要向大家介绍的是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的时间类型的介绍,望你能有所收获。


精彩图集

赞助商链接