Hibernate——(4)Hibernate映射类型
一、常用的Hibernat映射类型有如下几种:
- string
- integer
- double
- date 日期,只表示年月日
- datetime 日期,只表示年月日
- timestamp 时间戳,存放年月日时分秒
- yes_no 将在数据库中存放一个字符“Y"或“N”
- true_false 将在数据库中存放一个字符“T"或者"F".
1、新建数据库表
DROP TABLE IF EXISTS t_emp;
CREATE TABLE t_emp (
t_id
int(11) NOT NULL AUTO_INCREMENT,
t_name
varchar(50) NOT NULL,
t_salary
double(9,2) NOT NULL,
t_hire_date date
NOT NULL,
t_last_login timestamp
NOT NULL,
t_register char(1)
NOT NULL,
PRIMARY KEY (t_id)
) ENGINE=InnoDB;
varchar对应Stringdate对应年月日timestamp对应年月日时分秒通常情况下,使用char(1),值为true/false,来表示Boolean类型。
2、新建POJO类Emp
package com.xsyu.tts.po;
import java.util.Date;
public class Emp {
private Integer id;
private String name;
private double salary;
private Date hireDate;
// 入职时间
private Date lastLogin;
// 最后登录日期
private boolean register;
// 是否注册
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Date getHireDate() {
return hireDate;
}
public void setHireDate(Date hireDate) {
this.hireDate = hireDate;
}
public Date getLastLogin() {
return lastLogin;
}
public void setLastLogin(Date lastLogin) {
this.lastLogin = lastLogin;
}
public boolean isRegister() {
return register;
}
public void setRegister(boolean register) {
this.register = register;
}
}
3、新建Emp.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.tarena.tts.po">
<class name="Emp" table="t_emp">
<id name="id" type="integer" column="t_id">
<!-- 用来指明主键的生成方式 -->
<generator class="identity">
</generator>
</id>
<property name="name" type="string" column="t_name" />
<property name="salary" type="double" column="t_salary" />
<property name="hireDate" type="date" column="t_hire_date" />
<property name="lastLogin" type="timestamp" column="t_last_login" />
<property name="register" type="yes_no" column="t_register" />
</class>
</hibernate-mapping>
4、修改配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接信息 -->
<property name="connection.url">
jdbc:mysql://localhost:3306/test
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- Hibernate配置信息 -->
<!-- dialect方言,用亍配置生成针对哪个数据库的SQL语句 -->
<property name="dialect">
<!--方言类,Hibernate提供的,用亍封装某种特定数据库的方言 -->
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.show_sql">true</property>
<!-- 在配置文件中关联映射文件 -->
<mapping resource="com/xsyu/tts/po/User.hbm.xml" />
<mapping resource="com/xsyu/tts/po/Foo.hbm.xml" />
<mapping resource="com/xsyu/tts/po/Emp.hbm.xml" />
</session-factory>
</hibernate-configuration>
5、修改TestPersistence
/**
* 用于测试Hibernate映射类型 string interger double date timestamp yes_no true_false
*/
@Test
public void testType() {
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
Emp emp = new Emp();
emp.setName("BigYellow");
emp.setSalary(15000.90);
emp.setHireDate(new Date());
emp.setLastLogin(new Date());
emp.setRegister(true);
session.save(emp);
tx.commit();
session.close();
}
Hibernate——(4)Hibernate映射类型的更多相关文章
- Hibernate配置文件和映射元素解释
象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素. AD:干货来了,不要等!WOT20 ...
- Hibernate配置文件中映射元素详解
对象标识符号 在关系数据库表中,主键(Primary Key)用来识别记录,并保证每条记录的唯一性.在Java语言中,通过比较两个变量所引用对象的内存地址是否相同,或者比较两个变量引用的对象值是否相同 ...
- hibernate的映射类型
hibernate的映射类型 hibernate MySQL映射类型 1.Hibernate的映射类型 hibernate mysql映射类型 Hibernate 映射类型 Java 类型 标准 SQ ...
- 攻城狮在路上(壹) Hibernate(九)--- Hibernate的映射类型
Hibernate采用映射类型作为Java类型和SQL类型的桥梁,对应type属性.分为两种:内置映射类型和客户化映射类型.一.内置映射类型: 1.Java基本类型的Hibernate映射类型: Ja ...
- Hibernate映射类型对照表
Hibernate映射类型对照表 java类型 Hibernate映射类型 SQL类型 java.math.BigDecimal big_decimal numeric byte[] binary ...
- Hibernate学习6—Hibernate 映射类型
第一节:基本类型映射 com.cy.model.Book.java: package com.cy.model; import java.sql.Blob; import java.util.Date ...
- Hibernate 配置文件与映射文件 总结
hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 一.Hibernate配置文件详解 Hibernate配置文件有两种形式:XML与p ...
- Hibernate的关联映射——单向1-N关联
Hibernate的关联映射--单向1-N关联 单向1-N关联的持久化类里需要使用集合属性.因为1的一端需要访问N的一端,而N的一端将以集合(Set)形式表现.从这个意义上来看,1-N(实际上还包括N ...
- Hibernate的关联映射——单向N-1关联
Hibernate的关联映射--单向N-1关联 N-1是非常常见的关联关系,最常见的父子关系也是N-1关联,单向的N-1关联只需从N的一端可以访问1的一端. 为了让两个持久化类能够支持这种关联映射,程 ...
随机推荐
- (转) 通过UUID在vSphere虚拟机内外识别硬盘
转自:http://ju.outofmemory.cn/entry/28398 简单介绍下应用场景:开发基于虚拟化IaaS的一些应用就免不了要跟虚拟机(VM)打交道,因为VM逻辑上独立于宿主机(hos ...
- Linux 命令笔记(1)
[root@Oracle11_2 ~]# ll total -rw-------. root root May : anaconda-ks.cfg drwxr-xr-x. root root May ...
- Android原生生成JSON与解析JSON
JSON数据是一种轻量级的数据交换格式,在Android中通常应用于client与server交互之间的传输数据.像如今在网上有非常多解析JSON数据的jar包,可是归根究竟用的都是Android原生 ...
- python opencv3 —— 改变颜色空间(color space)
OpenCV: Changing Colorspaces 1. 查看 opencv 支持的颜色空间转换 opencv 中色彩空间转换由一些定义的全局的宏给出,使用如下的代码,将它们调出: >&g ...
- C语言深度剖析-----函数
认清函数的真面目 函数的意义 面向过程的程序设计 函数声明和定义 函数参数 编写代码的时候,不要编写类似先后调用的代码 f(k,k++) C语言中的顺序点 a--&&a ,& ...
- [Angular2 Form] Reactive Form, FormBuilder
Import module: import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/comm ...
- Yii Framework2.0开发教程(1)配置环境及第一个应用HelloWorld
准备工作: 我用的开发环境是windows下的apache+mysql+php 编辑器不知道该用哪个好.临时用dreamweaver吧 我自己的http://localhost/相应的根文件夹是E:/ ...
- div宽度设置width:100%后再设置padding或margin超出父元素的解决办法
div宽度设置width:100%后再设置padding或margin超出父元素的解决办法 一.总结 一句话总结:直接加上box-sizing:border-box;即可解决上述问题. 1.box-s ...
- 关于FATFS的读写速度
//////////////////////////////////////////////////////////////////////////////////////////////////// ...
- Spring Tool Suite(STS)加速
Java开发首选技术是Spring,使用Spring技术首选的开发工具是STS,STS有许多加速spring开发的提示和快捷方式,并将spring的最新技术通过STS快速简单的传递给用户. 但是STS ...