Hibernate
文章平均质量分 73
chengqiuming
这个作者很懒,什么都没留下…
展开
-
Hibernate快速入门案例——手动增加记录
一 介绍Hiberante可以用在J2SE项目,也可以用在J2EE(web项目中)。Struts是web框架,所以用在web项目。二 基本原理和项目框架图示意图三 开发流程1 创建一个项目。2 画出一个简单项目框架示意图。3 引入Hibernate开发包。http://www.hibernate.org。4 开原创 2017-11-17 20:08:38 · 339 阅读 · 0 评论 -
Hibernate基本概念
一 Hibernate是什么?1 Hibernate是一个框架(framework)。2 Hibernate是一个ORM框架。 ORM(Object Relation Mapping)对象关系映射框架。 O:object -> 业务层(只对对象操作)。 R:relation-> 关系数据库。 M:mapping 对象关系映射文件。3 Hibernate处原创 2017-11-17 20:18:13 · 292 阅读 · 0 评论 -
Hibernate的编程细节——事务回滚
一 事务回滚代码private static void updateEmp() { //修改用户 //获取一个会话 /* Session session=MySessionFactory.getSessionFactory().openSession();原创 2017-11-18 07:27:35 · 1963 阅读 · 0 评论 -
Hibernate核心类和接口
一 Hibernate核心类和接口一览图二 Configuration类介绍①负责管理hibernate的配置信息。②读取hibernate.cfg.xml。③加载hibernate.cfg.xml配置文件中配置的驱动,url,用户名,密码,连接池。④管理 *.hbm.xml对象关系文件。三 hibernate.cfg.xml文件①该文件主要用于指定原创 2017-11-18 07:30:51 · 316 阅读 · 0 评论 -
Hibernate的SessionFactory和Session
一 SessionFactory(会话工厂)接口①缓存sql语句和某些数据(称为session级缓存)。②在应用程序初始化的时候创建,是一个重量级的类(吃内存),一般用单例模式保证一个应用中只需要一个SessionFactory实例。③如果某个应用访问多个数据库,则要创建多个会话工厂实例,一般是一个数据库一个会话工厂实例。④通过SessionFactory接口可以获得Sessi原创 2017-11-19 09:59:05 · 2194 阅读 · 0 评论 -
Hibernate的 get()和load()
一 get()和load()的区别1 如果查询不到数据,get会返回null,但是不会报错,load如果查询不到数据,则报错ObjectNotFoundException。2 使用get去查询数据,(先到一级/二级)会立即向db发出查询请求(select ...),如果你使用的是load查询数据,(先到一级、二级))即使查询到对象,返回的是一个代理对象,如果后面没有使用查询结果,它不会真的原创 2017-11-19 10:05:56 · 237 阅读 · 0 评论 -
Hibernate的一对多
一 一对多关键配置点Department映射文件添加 class Department{private Integer id;private String name;private Set emps}二 配置文件1 Student.hbm.xml<!DOCTYPE hibernate-mapping PUBLIC "-//Hibe原创 2017-11-28 21:38:19 · 254 阅读 · 0 评论 -
Hibernate的基于主键的one-to-one
一 示例基于主键一对一(Person - IdCard)IdCard的映射文件 person [没有constraned true将不会生成外键约束]Person映射文件二 图解三 代码1 IdCardpackage com.hsp.domain;import java.util.Date;public class IdCa原创 2017-11-28 21:43:55 · 377 阅读 · 0 评论 -
实现为项目添加Hibernate支持
一 添加Hibernate支持第一步截图:第二步截图:第三步截图:第四步截图:第五步截图:第六步截图:二 向导为我们自动添加了哪些功能原创 2017-11-14 21:31:43 · 725 阅读 · 0 评论 -
如何在MyEclipse中添加数据库连接
一 新建Java项目hibernate二 选择数据库视图三 新建Database Driver四 数据库视图建立成功原创 2017-11-14 21:26:17 · 4439 阅读 · 0 评论 -
Hibernate的openSession()和 getCurrentSession()联系
一 深入探讨在SessionFactory启动的时候,Hibernate会根据配置创建相应的CurrentSessionContext,在getCurrentSession()被调用的时候,实际被执行的方法是CurrentSessionContext.currentSession()。在currentSession()执行时,如果当前Session为空,currentSession会调用Ses原创 2017-11-20 21:30:37 · 342 阅读 · 0 评论 -
Hibernate的基于外健的one-to-one
一 示例基于外键的一对一(Person - IdCard)IdCard的映射文件Person映射文件二 图解三 代码1 IdCard.hbm.xml<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hiberna原创 2017-11-29 20:01:46 · 358 阅读 · 0 评论 -
Hibernate的many-to-many多对多关系
一 举例学生课程顾客商品qqqq群二 架构图——学生选课三 实例——学生选课1 domain类1.1 Coursepackage com.hsp.domain;import java.util.Set;public class Course { private Integer id; private Strin原创 2017-11-29 20:06:48 · 285 阅读 · 0 评论 -
使用MyEclipse反向工程生成映射关系
一 创建一个entity包二 反向工程配置第1步截图第2步截图第3步截图第4步截图三 反向工程为我们做了些什么原创 2017-11-15 20:35:53 · 603 阅读 · 0 评论 -
测试MyEclipse反向工程生成效果
一 测试代码import java.util.Set;import org.hibernate.Session;import org.hibernate.Transaction;import com.imooc.entity.Grade;import com.imooc.entity.Student;import com.imooc.util.HibernateSessionFact原创 2017-11-15 20:43:25 · 327 阅读 · 0 评论 -
Hibernate的级联操作
一 Hibernate的级联操作所谓级联操作就是说,当你进行某个操作(添加/修改/删除...),就由hibernate自动给你完成。举例1:学生部门关系Department Student 对象关系,我希望当我删除一个department ,那么就自动删除该部门的所有学生。举例2:BBS项目主帖回帖 , 把主帖删除,那我们就希望把该主帖的回帖自动删除,这样我们可以使用级联(ca原创 2017-11-30 21:09:16 · 405 阅读 · 0 评论 -
使用Myeclipse进行Hibernate 快速开发
一 创建Java项目二 通过Myeclipse提供数据库浏览器连接到我们的Mysql数据库(多人开发)。三 在Myeclipse创建数据库视图1 第一步截图2 第二步截图3 第三步截图四 自动引入Hibernate支持1 第一步截图2 第二步截图3 第三步截图4 第四步截图如果希望把hibern原创 2017-11-21 21:40:56 · 306 阅读 · 0 评论 -
Hibernate综合运用内部留言本(一)
一 项目以一个内部留言本来介绍,本案例本身不复杂,通过该案例我们介绍struts+hibernate+接口编程的方式。二 开发步骤1 理解需求2 根据需求文档,画出程序框架图3 创建一个web项目原创 2017-11-30 21:12:15 · 636 阅读 · 0 评论 -
Hibernate快速入门案例——手动修改和删除记录
一 SessionFactory的封装1 SessionFactory应用场景2 代码package com.cakin.util;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;//在使用hibernate开发项目时,请一定保证只有一个SessionFactory//一个原创 2017-11-16 22:08:38 · 279 阅读 · 0 评论 -
Hibernate快速入门案例——让hibernate到映射文件到表的转换
一 hibernate.hbm.xml<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"原创 2017-11-16 22:13:37 · 174 阅读 · 0 评论 -
创建持久化和映射文件并配置单向一对多关系
一 Gradepackage com.imooc.entity;import java.io.Serializable;import java.util.HashSet;import java.util.Set;public class Grade implements Serializable { private int gid; private Stri原创 2017-11-22 12:45:13 · 329 阅读 · 0 评论 -
测试Hibernate添加查询修改删除学生信息(一对多的关系)
一 添加学生和班级测试代码import com.imooc.util.HibernateUtil; /* * 单向一对多关系关系(班级--->学生) * 建立关联关系后,可以方便的从一个对象导航到另一个对象 * 注意关联的方向 */public class Test { public static void main(String[] args)原创 2017-11-22 12:45:02 · 619 阅读 · 0 评论 -
Hibernate的inverse属性的用法实战
一 简介1 节点的inverse属性指定关联关系的控制方向,默认值为false,表示由one方来维护。2 关联关系中,inverse="false",表示不反转,为主动方(one方),由主动方负责维护关联关系。3 在一对多关联中,只能设置one方的inverse为ture,这将有助于性能的改善。 二 配置方法xml version="1.0"?>DOCTYPE hibe原创 2017-11-22 12:46:04 · 425 阅读 · 0 评论 -
Hibernate双向多对一实战
一 双向多对一生活举例 二 Grade.hbm.xml配置一对多关联关系xml version="1.0"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibern原创 2017-11-22 12:45:56 · 225 阅读 · 0 评论 -
Hibernate单向多对一实战
一 单向多对一生活举例 二 实现方式多对一的关系和关系数据库中的外键参照关系最匹配,即在多方的表中的一个外键参照一方表的主键。通过在多方持有一方的引用实现,需要在“多”的一端使用配置。 三 单向多对一的配置1 Student.javapackage com.imooc.entity; import java.io.Serializable;原创 2017-11-22 12:45:21 · 256 阅读 · 0 评论 -
hibernate之如何获得session对象
一 如何获得session对象1、openSession2、getCurrentSession 二 用openSession获得session对象1、代码import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration原创 2017-11-22 12:43:16 · 1602 阅读 · 0 评论 -
hibernate的hbm配置文档
一 hbm配置文件常用设置 二 主键生成策略 大小: 127.3 KB 大小: 49.6原创 2017-11-22 12:43:24 · 717 阅读 · 0 评论 -
hibernate的session详解
一 opensession与getCurrentSession的区别1、 getCurrentSession在事务提交或者回滚之后会自动关闭,而openSession需要手动关闭。如果使用openSession而没有手动关闭,多次之后会导致连接池溢出。2、openSession每次创建新的session对象,getCurrentSession使用现有的session对象。 二 测试原创 2017-11-22 12:43:35 · 694 阅读 · 0 评论 -
Hibernate单表操作——单一主键
一 单一主键assigned:由java应用程序负责生成(手工赋值)。native:由底层数据库自动生成标示符,如果是MySQL,就是increment,如果是Oracle,就是sequence,等等。 二 通过native为MySQL生成单一主键 1 Studentsimport java.util.Date; //学生类public class Stud原创 2017-11-22 12:43:43 · 272 阅读 · 0 评论 -
[Hibernate单表操作] 对象类型
一 对象类型 二 将图片写入数据库1、Studentsimport java.sql.Blob;import java.util.Date;//学生类public class Students { /* * JavaBeans的四点原则 * 1.必须是公有的类 * 2.提供公有的不带原创 2017-11-22 12:43:55 · 236 阅读 · 0 评论 -
创建HibernateUtil工具类以及在MySQL数据库中建立表
一 创建HibernateUtilpackage com.cakin.util; import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.bo原创 2017-11-22 12:44:54 · 319 阅读 · 0 评论 -
使用MyEclipse进行hibernate的基本配置实现一对多
一 创建一个Java项目hibernate-one2many 二 添加Hibernate的Jar包Hibernate的Jar包可从官网下载添加完后的效果 三 添加Mysql驱动Jar包mysql-connector-java-5.1.30-bin.jar 四 创建一个hibernate.cfg.xml,并且编辑xml version="1.0" e原创 2017-11-22 12:44:43 · 476 阅读 · 0 评论 -
[Hibernate单表操作] 单表操作CRUD实例
一 常用方法saveupdatedeleteget/load(查询单个记录) 二 测试代码import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.i原创 2017-11-22 12:44:23 · 354 阅读 · 0 评论 -
Hibernate双向一对多测试——通过学生查询班级信息
一 测试代码package com.imooc.test;import java.util.Set;import org.hibernate.Session;import org.hibernate.Transaction;import com.imooc.entity.Grade;import com.imooc.entity.Student;import com.i原创 2017-11-22 12:46:26 · 757 阅读 · 0 评论 -
Hibernate的cascade属性的用法实战
一 cascade属性当设置了cascade属性不为none时,Hibernate会自动持久化所关联的对象。cascade属性的设置会带来性能上的变动,需谨慎设置。 二 配置级联属性xml version="1.0"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping原创 2017-11-22 12:46:15 · 496 阅读 · 0 评论 -
Dockerfile手册
一 官网地址https://docs.docker.com/ 二 Dockerfile具体链接 https://docs.docker.com/engine/reference/builder/原创 2017-11-22 12:45:33 · 233 阅读 · 0 评论 -
Hibernate的一对多映射
一 映射类型分类1 一对多(one-to-many)2 多对一(many-to-one)3 一对一(one-to-one)4 多对多(many-to-many) 二 一对多映射介绍1 生活举例 2 具体方法在数据库中,可以通过添加主外键的关联关系,表现出一对多的关系。 在Java代码中,通过一方持有多方的集合实现,即在“一”的一端中使用元素表示持原创 2017-11-22 12:44:34 · 206 阅读 · 0 评论 -
[Hibernate单表操作] 组件属性
一 组件属性定义实体类中某个属性属于用于自定义的类的对象。 二 组件属性应用1、Addresspublic class Address { private String postcode; //邮编 private String photo; //电话 private String address; //地原创 2017-11-22 12:44:14 · 230 阅读 · 0 评论 -
Hibernate单表操作之基本类型
一 基本数据类型 二 日期类型 1、代码xml version="1.0"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd";>原创 2017-11-22 12:44:04 · 210 阅读 · 0 评论 -
hibernate的session简介
一 hibernate的执行流程 二 session理解1、不建议直接使用jdbc的connection操作数据库,而是通过使用session操作数据库。2、session可以理解为操作数据库的对象。3、session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session原创 2017-11-22 12:42:58 · 315 阅读 · 0 评论