【hibernate进阶】hibernate基本映射
2016-06-19 22:05
399 查看
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,本质上就是将数据从一种形式转换到另外一种形式。[b]hibernate作为一个ORM框架的代表,在实现ORM中,就是靠hibernate的基本映射来实现的。[/b]
常用的hibernate的几种映射:基本映射和关系映射。这篇博客主要介绍hibernate的基本映射。
Hibernate在实现ORM功能的时候主要用到的文件有:
1、 映射类(*.Java):它是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象了。
2、映射文件(*.hbm.xml):它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。
3、 hibernate核心配置文件(*.properties/*.cfg.xml):它指定hibernate的一些核心配置,包含与数据库连接时需要的连接信息,比如连接哪种数据库、登录数据库的用户名、登录密码以及连接字符串等。映射文件的地址信息也放在这里。
基本映射:
实体类的设计原则:
实现无参的默认的构造函数
提供一个标识
建议不要使用fianl修饰实体类
建议为实体类生成get和set方法
在hibernate的映射文件中,使用class元素表示类和数据库中的表的映射关系。如果想修改表名,可以使用table属性。 table属性指定要映射的对应的数据库表名,如果省略,则以name作为表名。name属性指定持久化类(或者接口)的Java全限定名。
length属性:表示该字段的字符长度,这个可以在数据库中设计,也可以在映射文件中写。
column:可以修改指定映射的列的列名。如果省略,则就是name名称作为列名。
hibernate的核心配置文件,可以配置sql语句的一些现实信息:是否在控制台显示sql语句,hibernate.show_sql设置为true。
hibernate的基本映射,主要是可以通过配置文件,也可以通过注解的形式,在接下来的博客中,小编将会带着大家学习一下如果用注解来做基本映射。
常用的hibernate的几种映射:基本映射和关系映射。这篇博客主要介绍hibernate的基本映射。
Hibernate在实现ORM功能的时候主要用到的文件有:
1、 映射类(*.Java):它是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象了。
2、映射文件(*.hbm.xml):它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。
3、 hibernate核心配置文件(*.properties/*.cfg.xml):它指定hibernate的一些核心配置,包含与数据库连接时需要的连接信息,比如连接哪种数据库、登录数据库的用户名、登录密码以及连接字符串等。映射文件的地址信息也放在这里。
基本映射:
java类映射成表:
<strong><span style="font-size:18px;">package com.bjpowernode.hibernate; import java.util.Date; public class User { private String id; private String name; private String password; private Date createTime; private Date expireTime; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getExpireTime() { return expireTime; } public void setExpireTime(Date expireTime) { this.expireTime = expireTime; } } </span></strong>
实体类的设计原则:
实现无参的默认的构造函数
提供一个标识
建议不要使用fianl修饰实体类
建议为实体类生成get和set方法
映射文件:user.hbm.xml
<strong><span style="font-size:18px;"><?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.bjpowernode.hibernate"> <class name="User" table="t_user"> <id name="id" column="user_id" length="32" access="field"> <generator class="uuid"/> </id> <property name="name" length="30" unique="true" not-null="true"/> <property name="password"/> <property name="createTime" type="date" column="create_time"/> <property name="expireTime"/> </class> </hibernate-mapping></span></strong>
在hibernate的映射文件中,使用class元素表示类和数据库中的表的映射关系。如果想修改表名,可以使用table属性。 table属性指定要映射的对应的数据库表名,如果省略,则以name作为表名。name属性指定持久化类(或者接口)的Java全限定名。
length属性:表示该字段的字符长度,这个可以在数据库中设计,也可以在映射文件中写。
column:可以修改指定映射的列的列名。如果省略,则就是name名称作为列名。
[b] hibernate核心配置文件:[/b]
<strong><span style="font-size:18px;"><!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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_basemapping</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/> <mapping resource="com/bjpowernode/hibernate/User2.hbm.xml"/> <mapping resource="com/bjpowernode/hibernate/User3.hbm.xml"/> </session-factory> </hibernate-configuration></span></strong>
hibernate的核心配置文件,可以配置sql语句的一些现实信息:是否在控制台显示sql语句,hibernate.show_sql设置为true。
hibernate的基本映射,主要是可以通过配置文件,也可以通过注解的形式,在接下来的博客中,小编将会带着大家学习一下如果用注解来做基本映射。
相关文章推荐
- Hibernate Oracle sequence的使用技巧
- jsp Hibernate批量更新和批量删除处理代码
- jsp hibernate的分页代码第1/3页
- Struts2+Hibernate实现数据分页的方法
- Hibernate环境搭建与配置方法(Hello world配置文件版)
- JAVA+Hibernate 无限级分类
- SSH整合中 hibernate托管给Spring得到SessionFactory
- jsp hibernate 数据保存操作的原理
- hibernate中的增删改查实现代码
- 解决hibernate+mysql写入数据库乱码
- java优化hibernate性能的几点建议
- java Hibernate延迟加载
- hibernate 常用方法介绍
- 详解Java的Hibernate框架中的注解与缓存
- 浅析Java的Hibernate框架中的继承关系设计
- Hibernate实现批量添加数据的方法
- Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
- JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册
- SSH框架网上商城项目第16战之Hibernate二级缓存处理首页热门显示
- 深入理解Hibernate中的flush机制