
Hibernate
最蓝的海
这个作者很懒,什么都没留下…
展开
-
Hibernate操作Blob数据
首先看数据库,数据库中新建一个BlobTable表,表中有两个字段,一个id(主键)一个picture字段是Blob类型字段。然后使用Hibernate向该数据库中写入和读取数据在POJO类中picture属性用的是Blob类型数据。下面看操作源码package dao;import java.io.File;import java.io.FileInputStream;imp原创 2014-09-19 14:32:17 · 2192 阅读 · 0 评论 -
Hibernate查询方式
使用HQL查询数据Hibernate提供的查询方式:1、OID查询方式 通过session提供的get()和load()方法加载指定的OID对象,只能按照对象的id进行查询。2、HQL查询方式 通过Query接口使用HQL语言进行查询。3、QBC查询方式 通过Criteria等接口和类进行查询4、本地SQL查询方式 使用原生SQL语言进行原创 2014-09-28 09:26:57 · 1025 阅读 · 0 评论 -
Hibernate关联关系映射之一对一关联关系
人和身份证之间就是一个典型的一对一关联关系。实现一对一关联关系映射的方式有两种一种是基于外键,一种是基于主键,下面我们先看基于外键的关联方式首先看他们的实体类Person类package entity;public class Person { private Integer id; private String name; private IdCard idCard; p原创 2014-09-27 09:38:40 · 913 阅读 · 0 评论 -
Hibernate关联关系映射之继承映射
首先有一个文章类(Article)类中有id、title、content、postTime等属性。package entity;import java.util.Date;public class Article { private Integer id; private String title; private String content; private Date post原创 2014-09-27 15:15:51 · 853 阅读 · 0 评论 -
Hibernate关联关系映射之一对多关联关系
本次以一个示例方式进行演示,某个单位有多个部门,每个部门中又有很多不同的员工,在存储时需要建立一张员工表和一张部门表,存储全部的部门和员工信息,而这两张表中通过外键进行关联,从而能根据部门名称查询出该部门的所有员工,同时又能根据员工名称查询出他所在的部门。不难看出部门与员工之间的关系是一对多的关系,相反,员工与部门之间的关系是多对一的关系。在POJO类和映射文件自然想到使用Set集合表示一原创 2014-09-25 21:12:17 · 578 阅读 · 0 评论 -
Hibernate集合映射Set篇
集合映射我们通过一个具体示例看一下如何在Hibernate中使用集合映射。例如:在一个购物网站中,需要有个用户表用来记录用户的基本信息,这张表包括用户的ID,姓名以及邮寄地址,但是有些人可能有多个邮寄地址,这时在数据库中我们需要使用另外一张表单独存储用户的邮寄信息,在这张表中使用UserId作为用户表的一个外键,从而实现两张表之间的关联。在Hibernate中要通过用户表中映射文件访问原创 2014-09-24 20:15:11 · 720 阅读 · 0 评论 -
Hibernate关联关系映射之多对多关联关系
本次仍然使用一个示例的方式进行演示,学生与教师之间的关系就是一个典型的多对多关系,一个教师可以有多个学生,同样一个学生也可以有多个教师。在数据库中存储需要一张学生表存储学生信息,一个教师表存储教师信息,为了表示他们之间的关系我们需要一个中间表来表示他们之间的联系。例如,在教师表中有id,name两个属性,学生表中同样有id,name两个属性。教师表中有两条记录分别是(1,董老师),(2,李老师原创 2014-09-26 14:49:08 · 1117 阅读 · 1 评论 -
POJO类以及映射配置文件
对持久化对象的要求1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()。3、 为持久化类的字段声明访问方法(set/get)。Hibernate原创 2014-09-22 16:40:18 · 1598 阅读 · 0 评论 -
MyEclipse使用反向工程
在使用Hibernate进行数据库操作时在代码编写方面确实大大减少了工作量,但是需要编写大量的XML文档,所幸MyEclipse提供了一种反向工程来快速构建XML文档。本文章中数据库使用Oracle、MyEclipse使用2014版下面首先看数据库,这里仅以一个Login表为示例,表中有三个字段,id(主键)、username、password。数据库建立完成后,打开MyEclip原创 2014-09-09 20:25:04 · 2066 阅读 · 0 评论 -
Hibernate实现最基本的增删改查
Hibernate提供了丰富的API对数据库进行操作。其中Session是对数据库进行操作一个非常重要的类,他提供了对数据库增删改查的基本操作。下面看一些具体示例,实例中实现了对数据库增加,删除,更新,根据ID查询,查询全部,分页查询,以及模糊查询package dao;import java.util.List;import org.hibernate.HibernateEx原创 2014-09-21 14:10:46 · 986 阅读 · 0 评论 -
Hibernate主配置文件属性
show_sql其值为TRUE或FALSE表示是否显示执行的SQL语句format_sql其值为TRUE或FALSE表示是否格式化执行的SQL语句 hbm2ddl其值即表示内容如下create----先删除,在创建相应的数据库表update----如果表不存在就创建表,不一样就更新,一样就什么都不做create-drop----初始化时创建表,SessionFactor原创 2014-09-21 14:02:45 · 937 阅读 · 0 评论 -
Hibernate简介
首先介绍一下数据的状态瞬时状态:在程序运行的时候,有些程序数据保存在内存中,当程序退出后,这些数据就不复存在了,所以,我们称这些数据的状态为瞬时的。持久状态:在使用一些软件的时候,有些数据,在程序退出后,还以文件等形式保存在硬盘中,那么我们称这些数据的状态是持久的。持久化:就是将程序中的数据在瞬时状态和持久状态之间转换的机制。JDBC就是持久化机制,将程序数据直接保存成文件也是持久原创 2014-09-08 09:19:57 · 847 阅读 · 0 评论 -
Hibernate操作Clob类型数据
在POJO中字符串大对象可以声明成一个java.lang.String或java.sql.Clob类型。当程序从数据库中加载Clob类型数据时,仅仅加载了一个Clob类型的数据的逻辑指针。我们需要通过使用Clob.getCaracterStream()方法得到Clob类型的数据输入流之后才能获取大对象数据。看下面具体代码package dao;import java.io.Buff原创 2014-09-19 16:00:50 · 1514 阅读 · 0 评论 -
Hibernate操作没有主键数据表
在数据库中中间表往往可能没有主键,而Hibernate检索的时候是根据主键检索的,这样就无法直接检索中间表中的数据。对于这种情况Hibernate会自动生成一个主键辅助类来辅助检索,下面看具体使用方法。数据库存在数据表region表存有两个字段,一个city字段,一个code字段,city字段存放城市名,code字段存放城市代码。没有指定主键。这是使用Hibernate的反向工程自动创建P原创 2015-01-22 09:22:32 · 6845 阅读 · 2 评论