hibernate中对 数据库中datetime类型的处理(假设该字段为 birthdate)
1.如果想插入数据库中的格式为 yyyy-mm-dd hh:mm:ss形式的话
在.hbm.xml文件中将 birthdate定义为
<property
name="birthdate"
column="birthdate"
type="calendar"
not-null="false"(默认值,可以改为true)
length="7"
/>
在对应的类文件(假设为User.java)中做如下定义
private java.util.Calendar birthdate;
在做数据库操作时(如果存放的为系统当前时间)
User user = new User();//假设为映射对象
user.setBirthdate(Calendar.getInstance());//存储系统当前时间
注:如果是页面上输入的字符串,可先将字符串转化为java.util.Date类型,然后再转化为Calendar类型即可
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date birthdate = df.parse(birthyear+'-'+birthmonth+'-'+birthday+' '+birthhour+'-'+birthminute+'-'+birthsecond);//用户页面中输入的日期时间字符串
也可以 import java.util.date;
Calendar cal=Calendar.getInstance();
cal.clear();//注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
cal.setTime(birthdate);
ps.setBirthdate(cal);
--------------------------------------------------------------------------------------------------------------------
2.如果想在数据库中插入格式为日期格式 例如 yyyy-MM-dd
在.hbm文件中将birthdate定义为
<property
name="birthdate"
column="birthdate"
type="date"
not-null="false"(可省略)
length="7"(可省略)
/>
在对应的类文件中做如下定义
private java.util.Date birthdate;
在做数据库操作时(如果存放的为系统当前时间)
User user = new User();//假设为映射对象
java.util.Date birthdate = new SimpleDateFormat("yyyy-MM-dd").parse(new java.util.Date());//不做此种转化也可以
ps.setBirthdate(date);//存储系统当前日期
注:如果是页面上输入的字符串,可先将字符串转化为java.util.Date类型即可
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date birthdate = df.parse("birthyear+'-'+birthmonth+'-'+birthday");//用户页面中输入的日期时间字符串
ps.setBirthdate(birthdate);
{0:yyyy-MM-dd HH:mm:ss.fff}:使用24小时制格式化日期
{0:yyyy-MM-dd hh:mm:ss.fff}:使用12小时制格式化日期
分享到:
相关推荐
本文将深入探讨如何在Hibernate配置中设置与数据库字段的对应关系,以及相关的Mysql数据库数据类型。 首先,我们需要理解Hibernate的核心配置文件`hibernate.cfg.xml`,在这个文件中,我们定义了数据源、持久化类...
MySQL是世界上最流行的关系数据库管理系统之一,它的数据类型包括数字类型(如INT、DECIMAL)、字符串类型(如VARCHAR、TEXT)、日期和时间类型(如DATE、DATETIME)以及二进制类型(如BLOB)等。 例如,Hibernate...
在Java的Hibernate框架中,自定义类型是一种非常实用的功能,它允许...同时,这也是对软件工程中“开闭原则”的实践,即对扩展开放,对修改关闭,因为我们可以不改变Hibernate核心代码,仅通过自定义类型实现新的功能。
在与PostgreSQL结合时,我们需要配置Hibernate的`persistence.xml`文件,指定使用的数据库驱动,通常是`org.postgresql.Driver`,并将之前提到的`postgresql-jdbc.jar`包含在项目依赖中。 建立数据连接的过程如下:...
由于Java中的`java.util.Date`类与MySQL数据库中的`DateTime`类型在格式上存在差异,因此在将时间数据写入数据库前,通常需要进行格式转换。 #### Java中的Date类 Java中的`java.util.Date`类用于表示特定的时间点...
在这个例子中,创建了一个名为T_account的表,包含五个字段:Fid(主键,自增长),Fname(varchar类型,长度50),Fonhand(int类型),Ftype(varchar类型,长度30),以及Fcreatetime(datetime类型)。...
`@Temporal`注解用于将`java.util.Date`对象映射为数据库中的date、time、datetime或timestamp类型,通过指定`TemporalType`的类型来决定。 5. Boolean值的映射: Hibernate和JPA会自动处理Boolean类型的映射,通常...
在JSP中,这些表可以被映射为Java对象,使用ORM框架如Hibernate进行操作。用户可以通过登录、注册、发帖、回帖等功能与BBS交互。开发过程中,还需要考虑安全性,例如密码加密、SQL注入防护等。同时,为了提高性能,...
在Java世界中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它允许开发者将数据库操作转换为面向对象的方式,从而简化了数据访问层的编程。在这个“Hibernate注解配置表映射实例”中,我们将深入探讨如何...
- **dialect**: 指定了Hibernate使用的方言,它告诉Hibernate如何处理特定数据库的SQL语法差异。 - **MySQL**: `org.hibernate.dialect.MySQLDialect` - **Oracle**: `org.hibernate.dialect.Oracle9Dialect` - *...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转化为对Java对象的操作,极大地简化了数据持久化的复杂性。本教程旨在提供一个无需Web服务器环境,在Eclipse中直接运行...
在实际项目中,结合SQLite和Hibernate可以创建快速开发的Java应用,特别适合那些需要离线数据存储或者对数据库管理要求不高的场景。同时,由于SQLite的便携性和轻量级特性,它也是进行原型开发或测试的理想选择。 ...
在本教程中,我们将学习如何在MyEclipse环境中搭建一个简单的Java Web项目,结合Hibernate框架进行数据库操作。首先,我们创建数据库和表作为数据存储的基础。 1. 数据库准备: 我们在Sql Server 2012中创建一个名...
在 Hibernate 3 以后的版本中,引入了注解支持,使得在 Java 类中直接进行数据库映射成为可能,极大地简化了配置和开发过程。与传统的 XML 配置文件相比,使用注解更加直观、简洁。 **二、主要注解介绍** 1. **@...
开发者需要理解和运用编程语言中的日期和时间库,如Python的datetime模块,JavaScript的Date对象等。 3. **数据库管理**:"数据库"标签暗示了该项目涉及数据存储和检索。数据库管理系统(DBMS)如MySQL、SQLite、...
1. 自动将Hibernate特定的类型(如`org.hibernate.type.DateTimeType`)映射到JSON格式,确保在数据库和JSON之间无缝转换。 2. 支持懒加载(lazy-loading)属性,避免在序列化时触发不必要的数据库查询。 3. 提供...
该系统采用 B/S 结构,基于 Tapestry5.0 框架,融合了 Maven,使用 Hibernate 管理数据层,数据库采用开源的 MySQL。 该系统的主要功能模块包括登录、教师信息录入、教师信息修改、教师信息查询、教师的教学、发表...
- **日期类型**:Oracle的DATE对应MySQL的DATETIME,TIMESTAMP(N)对应TIMESTAMP。需要注意的是,TIMESTAMP在MySQL中没有精度参数,可能需要调整。 2. **SQL语法差异**: - **SEQUENCE**:Oracle中的SEQUENCE在...
3. **编辑映射文件**: 对自动生成的映射文件进行必要的调整,例如修改某些字段的类型以匹配数据库的实际定义。 #### 六、综合应用 通过以上步骤,我们已经完成了SSH框架的基本整合工作。接下来可以通过编写具体的...