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的一端. 为了让两个持久化类能够支持这种关联映射,程 ...
随机推荐
- opencv cvtColor dtype issue(error: (-215) )
opencv cvtColor dtype issue(error: (-215) ) 更详细的错误信息如下,color.cpp:9710: error: (-215) depth == CV_8U ...
- Android JavaMail介绍及发送一封简单邮件
本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17839983,转载请注明. JavaMail是SUN提供给开 ...
- eclipse 更换国内镜像
大家在用eclipse下载插件,或更新插件的时候,有木有觉得速度贼慢,蜗牛似的速度简直让习惯了4G时代的我们抓狂到底,废话不说,先给大家奉献解决办法 网上找到的国内镜像总结: 1.企业贡献: 搜狐开源 ...
- bootstrap课程1 bootstrap为什么这么火
bootstrap课程1 bootstrap为什么这么火 一.总结 一句话总结:响应式,样式多,功能多. 1.bootstrap通过什么药实现响应式? 响应式web布局是让用户通过不同尺寸的浏览器都可 ...
- [Angular2Fire] Firebase auth (Google, Github)
To do auth, first you need to go firebase.console.com to enable the auth methods, for example, enabl ...
- Android 实现最新版QQ图像裁剪功能
这是依据翔神那篇高仿微信图像截取改的 能够先去看 Android 高仿微信头像截取 打造不一样的自己定义控件 这篇文章. 眼下还有个小问题.就是截取成圆形图片之后 会有黑色的边框填充.不知道怎么解 ...
- 小白学开发(iOS)OC_ 使用继承来扩充类(2015-08-07)
// // main.m // 使用继承来扩充类 // // Created by admin on 15/8/12. // Copyright (c) 2015年 admin. All ri ...
- pstack.sh 改进版
pstack.sh 改进版本 #!/bin/bash if (( $# < 1 )) ; then echo "usage: `basename $0` pid" 1> ...
- libevent源码分析-介绍、安装、使用
Libevent介绍 安装 样例 Libevent介绍 在include\event2\event.h中有关于Libevent的介绍,这里简单翻译介绍一下: Libevent是以事件为驱动的开发可扩展 ...
- jquery修改获取radio的选中项
<input id="txtBeginDate" onclick="$('#divDate').css({'top':$('#txtBeginDate').offs ...