【SQL之SQL语句】操作MySQL数据库的dateTime类型,存
储和获取完整时间字符串的⽅法
1、插⼊:
(1)获取特定格式的时间类型:
java.util.Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));//获取系统时间
(2)插⼊数据库:
其实向mysql数据库⾥插⼊时间字段也是很容易的,只要设置为java.util.Date类型后,以Hibernate的Pojo类对象为例,pojo.set(new java.util.Date());就可⽤了。
以下附录在⽹上到的相关资料:
Mysql 与 java 的时间类型
MySql的时间类型有 Java中与之对应的时间类型
date java.sql.Date
Datetime java.sql.Timestamp
Timestamp java.sql.Timestamp
Time java.sql.Time
Year java.sql.Date
2、读取MySQL数据库dateTime类型数据:
String sql = " select interviewTime from my_table";datediff是字符型函数
不是太好⽤,后来直接⽤的hibernate,后续再研究jdbc和mybatis中插⼊时间⽅式
如下:
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* Created by jimi on 15-5-14.
*/
/*
EJB3.0开始,持久化已经⾃成规范,被称为Java Persistence API。
Java Persistence API定义了⼀种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库。
这些普通Java对象被称作Entity Bean。
*/
@Entity
@Table(name ="hr_problem_comments")
public class CorpUserProblemComment implements Serializable {
/*
基于annotation的hibernate主键标识为@Id,
其⽣成规则由@GeneratedValue设定的.这⾥的@id和@GeneratedValue都是JPA的标准⽤法,
其中:JPA提供的四种标准⽤法为TABLE,SEQUENCE,IDENTITY,AUTO.
TABLE:使⽤⼀个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来⽣成主键,条件是数据库⽀持序列。
IDENTITY:主键由数据库⾃动⽣成(主要是⾃动增长型)
AUTO:主键由程序控制。
*/
/*
/*
hibernate提供多种主键⽣成策略,有点是类似于JPA,有的是hibernate特有:
assigned: 在插⼊数据的时候主键由程序处理(很常⽤),这是 <generator>元素没有指定时的默认⽣成策略。
等同于JPA中的AUTO。
native: 对于 oracle 采⽤ Sequence ⽅式,对于MySQL 和 SQL Server 采⽤identity(⾃增主键⽣成机制),
native就是将主键的⽣成⼯作交由数据库完成,hibernate不管(很常⽤)。
hibernate提供了多种⽣成器供选择,基于Annotation的⽅式通过@GenericGenerator实现.hibernate每种主键⽣成策略提供
接⼝org.hibernate.id.IdentifierGenerator的实现类,如果要实现⾃定义的主键⽣成策略也必须实现此接⼝.
⾃定义主键⽣成策略,由@GenericGenerator实现。
hibernate在JPA的基础上进⾏了扩展,可以⽤⼀下⽅式引⼊hibernate独有的主键⽣成策略,就是通过@GenericGenerator加⼊的。 */
@Id
@GenericGenerator(name = "generator", strategy = "native") //负载均衡
@GeneratedValue(generator = "generator", strategy=GenerationType.IDENTITY)//负载均衡
@Column(name = "id", unique = true, nullable = false)
private Integer id; //备注⾃增ID
@Column(name="corpUserId")
private Integer corpUserId; //企业⽤户ID
@Column(name="comment")
private String comment; //备注内容
@Temporal(TemporalType.TIMESTAMP)
@Column(name="createTime")
private Date createTime; //备注时间
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getCorpUserId() {
return corpUserId;
}
public void setCorpUserId(Integer corpUserId) {
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
thisment = comment;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论