【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";

   rs.getTimestamp("interviewTime")

不是太好用,后来直接用的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 {
    /*
    基于annotationhibernate主键标识为@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实现。
    hibernateJPA的基础上进行了扩展,可以用一下方式引入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) {
        this.corpUserId = corpUserId;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值