举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > java中如何实现日期类 JPA 日期映射到时间示例

java中如何实现日期类 JPA 日期映射到时间示例

2023-03-13 00:31 Java教程

java中如何实现日期类 JPA 日期映射到时间示例

java中如何实现日期类

Java中实现日期类的方法有很多,其中最常用的是java.util.Date类。这个类提供了一个可以表示日期和时间的对象,它可以用来表示一个特定的时刻,比如2020年1月1日0时0分0秒。

要使用java.util.Date类,首先需要创建一个Date对象,可以使用Date()构造函数来创建一个新的Date对象。例如:

// 创建一个新的 Date 对象 
Date date = new Date(); 

此外,还可以使用 Date(long millis) 构造函数来创建一个 Date 对象,该构造函数接受一个 long 类型的参数,该参数表示从 1970 年 1 月 1 日 00:00:00 GMT 以来所经过的毫秒数。例如:

 
// 创建一个新的 Date 对象 
long millis = System.currentTimeMillis(); 
Date date = new Date(millis); 

此外,还可以使用 getTime() 方法来获取当前 Date 对象所表示的毫秒数。例如:

 
// 获取当前 Date 对象所表示的毫秒数 
long millis = date.getTime();   

除了上面提到的方法之外,java.util.Date 类还提供了很多其他方法来帮助我们实现时间相关功能。例如 setTime() 方法用于将当前 Date 对象重新设定成新的时间值。setHours()、setMinutes()、setSeconds() 等方法也是同样道理。此外还有 getHours()、getMinutes()、getSeconds() 等方法用于获取当前 Date 对象所表示的小时数、分钟数、秒数信息。

总之,java.util.Date 类是 Java 进行时间相关开发中必不可少的工具之一。它不但能够帮助我们快速地实现各式各样的时间相关功能,而且使用也十分方便快捷。因此在 Java 里开发各式各样应用中都会频频使用 java.util.Date 类来实现各式各样功能。

JPA 日期映射到时间示例

JPA教程 - JPA日期映射到时间示例


我们可以将Java Date类型值映射到数据库中的TIME类型列。

@Temporal(TemporalType.TIME)
private java.util.Date dob;

例子

下面的代码来自Person.java。

package cn..common;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Person {
  @Id
  private long id;
   
  private String name;
  @Temporal(TemporalType.TIME)
  private java.util.Date dob;
  public Person() {}

  public Person(String name) {
    this.name = name;
  }

  public java.util.Date getDob() {
    return dob;
  }

  public void setDob(java.util.Date dob) {
    this.dob = dob;
  }

  public Long getId() {
    return id;
  }
  public void setId(Long id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }

  public String toString() {
    return "nnID:" + id + "nName:" + name + "nn"+"Dob"+dob;
  }
}

下面的代码来自PersonDaoImpl.java。

package cn..common;

import java.util.Calendar;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.springframework.transaction.annotation.Transactional;

@Transactional
public class PersonDaoImpl {
  public void test(){
    Person p1 = new Person("Tom");
    p1.setId(1L);
    p1.setDob(Calendar.getInstance().getTime());
    Person p2 = new Person("Jack");
    p2.setId(2L);
    
    save(p1);
    save(p2);

    listAll();
    
  }
  private void listAll(){
    List<Person> persons = getAll();
    for (Person person : persons) {
      System.out.println(person);
    }

  }
  @PersistenceContext
  private EntityManager em;
  
  
  public Long save(Person person) {
    em.persist(person);
    return person.getId();
  }
  
  public List<Person>getAll() {
    return em.createQuery("SELECT p FROM Person p", Person.class).getResultList();
  }
  
}

以下代码来自App.java。

package cn..common;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {

  public static void main(String[] args) {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
    PersonDaoImpl dao = (PersonDaoImpl) context.getBean("personDao");

    dao.test();

    context.close();
    
    Helper.checkData();
  }
}
下载 Map_Java_Date_to_DB_Time.zip

上面的代码生成以下结果。

以下是数据库表转储。

Table Name: PERSON
 Row:
    Column Name: ID,
    Column Type: BIGINT:
    Column Value: 1

    Column Name: DOB,
    Column Type: TIME:
    Column Value: 13:59:34

    Column Name: NAME,
    Column Type: VARCHAR:
    Column Value: Tom

 Row:
    Column Name: ID,
    Column Type: BIGINT:
    Column Value: 2

    Column Name: DOB,
    Column Type: TIME:
    Column Value: null

    Column Name: NAME,
    Column Type: VARCHAR:
    Column Value: Jack


阅读全文
以上是鳄鱼CMS为你收集整理的java中如何实现日期类 JPA 日期映射到时间示例全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们