hibernate使用mysql中时间的数据类型
来源:互联网 发布:微信物业管理系统源码 编辑:程序博客网 时间:2024/06/16 11:21
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。
日期类型 存储空间 日期格式 日期范围
------------ --------- --------------------- -----------------------------------------
datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038
date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31
year 1 bytes YYYY 1901 ~ 2155
在 MySQL 中创建表时,对照上面的表格,很容易就能选择到合适自己的数据类型。但是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。
1、date类型
可以在hibernate中对应String数据类型(个人愚见)
2、datetime类型我一般不会选timestamp 类型它对应的存储空间较小
package com.model;// default packageimport java.sql.Timestamp;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import static javax.persistence.GenerationType.IDENTITY;import javax.persistence.Id;import javax.persistence.Table;/** * 数据库表datetime的实体类 * @author 王校兵 * @version 1.0,2015-11-26 */@Entity@Table(name = "datetime", catalog = "hibernatedemo")public class Datetime implements java.io.Serializable {// Fieldsprivate Integer did;private Timestamp timedatetime;// Constructors/** default constructor */public Datetime() {}/** full constructor */public Datetime(Timestamp timedatetime) {this.timedatetime = timedatetime;}// Property accessors@Id@GeneratedValue(strategy = IDENTITY)@Column(name = "did", unique = true, nullable = false)public Integer getDid() {return this.did;}public void setDid(Integer did) {this.did = did;}@Column(name = "timedatetime", nullable = false, length = 19)public Timestamp getTimedatetime() {return this.timedatetime;}public void setTimedatetime(Timestamp timedatetime) {this.timedatetime = timedatetime;}}
对应的Java测试类
<pre name="code" class="java">package com.dao;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import org.hibernate.Session;import org.hibernate.Transaction;import com.model.Datetime;import com.model.Time;import com.util.HibernateSessionFactory;/** * 向数据库中插入数据datetime类型插入测试 * @author 王校兵 * @version 1.0,2015-11-26 * */public class InsertDateTimeDao {public static void main(String[] args) {//当前时间时间戳/*Timestamp t = new Timestamp(System.currentTimeMillis());System.out.println("Timestamp---- " + t);*///自己创建时间戳Timestamp t = Timestamp.valueOf("2015-1-26 19:23:18.575"); System.out.println("Timestamp.valueOf(2015-11-26 19:53:18.575)-- " + t);Session session = HibernateSessionFactory.getSession();Transaction ts = session.beginTransaction();Datetime dt = new Datetime();dt.setTimedatetime(t);session.save(dt);org.hibernate.Query query = session.createQuery("from Datetime");List list = query.list();ts.commit();HibernateSessionFactory.closeSession();for(Object ele:list){Datetime d = (Datetime)ele;System.out.println(d.getTimedatetime());}}}
3、year个人感觉还不如String类型好使(个人愚见)
- hibernate使用mysql中时间的数据类型
- MySQL 中使用什么数据类型表示时间
- MySQL中日期、时间数据类型的使用
- MySQL 中你应该使用什么数据类型表示时间?
- MySQL 中你应该使用什么数据类型表示时间?
- MySQL 中你应该使用什么数据类型表示时间?
- hibernate下oracle转mysql中数据类型的转换
- MySQL中关于日期、时间的数据类型和函数
- 转载一篇关于Mysql 时间、日期数据类型使用的总结
- 在Hibernate中使用@lob修饰大数据类型的属性
- MySQL日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用…
- MySQL 日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- MySQL日期数据类型、时间类型使用总结
- 意图过滤器
- Maven pom.xml 配置详解
- WebApi中跨域解决办法
- 服务器会自动进行urldecode()一次!!!
- 20岁了,感恩节与生日
- hibernate使用mysql中时间的数据类型
- angularjs组件之select
- linux下bluetooth编程(二)blueZ协议栈
- Android ndk 入门4 - C++实现
- 时间格式正则表达式
- [Mysql数据库] MySql 获取数据表中随机一条数据
- 安卓项目版本更新(保存xml数据)
- 数列分段
- hdu4521 dp+树状数组