首页 第三章 Hibernate程序1

第三章 Hibernate程序1

举报
开通vip

第三章 Hibernate程序1 本章目标: � 掌握 Hibernate的 ORM映射技术 � 掌握 Hibernate体系结构 � 使用 Hibernate开发数据库持久化程序 1. ORM概述 即 ORMapping:对象关系映射,我们都知道操作数据库是使用 SQL语句,如果我们能通 过一个类的操作来代替数据库操作 SQL,会出现什么情况?也就是类中的方法代替了 SQL语句,这样的话开发人员只要注重类的设计而不用再关心后面的 SQL语句,SQL 语句已经被类封装, ORMapping也就是将 Java中对象及对象之间的关系映射到...

第三章 Hibernate程序1
本章目标: � 掌握 Hibernate的 ORM映射技术 � 掌握 Hibernate体系结构 � 使用 Hibernate开发数据库持久化程序 1. ORM概述 即 ORMapping:对象关系映射,我们都知道操作数据库是使用 SQL语句,如果我们能通 过一个类的操作来代替数据库操作 SQL,会出现什么情况?也就是类中的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 代替了 SQL语句,这样的话开发人员只要注重类的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 而不用再关心后面的 SQL语句,SQL 语句已经被类封装, ORMapping也就是将 Java中对象及对象之间的关系映射到关系数 据库中的表格及表格之间的关系,从而使类的操作来代替数据库操作的 SQL语句。 表示层 业务逻辑层 数据持久化层(ORM组件,封装 了数据库的访问操作) 数据库 Hibernate所在的层 2. Hibernate简介 Hibernate:是一个 ORMapping的实现框架,所以,Hibernate主要功能就是操作数据库(用 对象的形式操作数据库),Hibernate内部封装了通过 JDBC访问数据库的操作,这些操 作通过数据库访问 API提供给上层。 3. Hibernate优点 � 与 SQL/JDBC比较:使用 SQL/JDBC操作数据库主要以下问题:代码烦杂,可读 性差,维护困难,移植困难,而使用 Hibernate以上问题都可以解决。 � 与其他框架比较:现在市场上常用的数据持久化框架还有:Ibatis,但是 Ibatis是半 映射框架,对 sql封装的不够彻底。 � 另外 Hibernate成熟、流行、开源、功能强大。 Id name password 1 Sxjiang 1234 Id=1 name=”sxjiang” password=”1234” 映射 但是 hibernate的缺点:不够透明。 4. Hibernate体系结构 1) Hibernate两种重要配置文件 � hibernate.cfg.xml :此文件主要配置数据库的连接信息:比如数据库服务器地 址、数据库名、用户名、密码等。在应用程序启动时,Hibernate会自动查找 这个文件进行操作。 � *.hbm.xml:此类文件是 Java类与数据库表映射描述文件,它将告诉 Hibernate 如何将 Java类和数据库表进行映射。 因为 MyEclipse已经集成了 Hibernate所以, MyEclipse提供了工具进行自动创建这两 类文件 2) Configuration类 Configuration类负责管理 Hibernate的配置信息,Hibernate运行时,需要获取一些 � 底层实现的基本信息如: � 数据库 URL � 数据库用户名 � 数据库用户密码 � 数据库连接 JDBC驱动程序等 这些信息一般配置在 hibernate.cfg.xml中,可以使用以下方法调用: Configuration config = new Configuration().configure(); 等同于 JDBC的 Class.forName //执行此行代码时,hibernate会自动在当前的 CLASSPATH中寻找 hibernate.cfg.xml文件, 并将其读到内存中作为后续操作的基础配置。 3) SessionFactory SessionFactory等同与 DriverManage 是 Session工厂,负责创建 Session实例, 可以通过 Configuration对象创建 SessionFatory。 Configuration config = new Configuration().configure(); SessionFactory sessionFactory = config.buildSessionFactory(); 注意:一旦 SessionFactory实例被创建即被赋予特定的数据库配置信息,之后的 config的任 何改变都不会影响到已经创建的 SessionFactory实例。 4) Session 等同于 JDBC中的 Connection Session是 Hibernate数据库持久化操作的基础。提供了数据库持久化操作的所有方法, 如:save,update,delete等。通过这些方法可以完成对象的添加,修改,删除等操作。 session实例可以通过 SessionFactory实例进行创建: Session session = sessionFactory.openSession(); 之后就可以调用 session对象的 save,update,delete完成数据库持久化操作。 5) 实体类(POJO Plain and Old Java Object) 最基本的类,此类的要求同 JAVABean的要求一样,只有属性及属性的 getXXX,setXXX 方法,此类的名称最好和表名称一致。此类包含的属性和数据库表字段是完全对应的。 5. Hibernate开发步骤 1. 创建 Hibernate.cfg.xml 2. 创建数据库表 3. 创建 POJO类 4. 创建 XXX. hbm.xml 5. 编写持久化程序 持久化程序主要的操作 � 创建 Configuration实例 � 创建 SessionFactory实例 � 创建 Session实例 � 调用 Session提供的方法进行数据持久化操作。比如: Student stu = new Student(); stu.setName(“蒋社想”); stu.setSex(”男”); session.save(stu); 执行此代码后,数据库表就应该新增了一条 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 。 6. 开发实例 开发一个简单的 Hibernate的 Java项目,此项目主要实现保存学生信息到数据库表中。 步骤: 1) 使用 SQL Server创建数据库 stu,以及表 student,此表结构如下: id 主键 name Varchar password Varchar age int 2) 使用MyEclipse创建名为 HibernateDemo 的 Java Project 3) 在MyEclipse创建 hibernate.cfg.xml也就是数据库连接信息 操作方法:选择Window�Open Perspective�MyEclipse Database Expoer,打开MyEclipse Database浏览器,右击菜单,选择 New…, 编辑完成后,可以在 Database浏览器中打开此连接。 4) 添加 Hibernate所需要的包到项目中 方法:右击项目 hibernateDemo,选择MyEclipse�Add Hibernate Capabilites… 选择 Sql Server驱动模板 自己定义一个名字 连接 Sql Server的 URL 连接数据库的用户名和密码 将 Sql Server的 JDBC驱动程序加载进来 测试连接是否成功 点击下一步,进行创建 hibernate.cfg.xml 点击下一步,选择我们已经配置的数据库连接 点击“完成”。通过这些步骤,项目中增加了一些Hibernate JAR包和一个 hibernate.cfg.xml 配置文件,一个 HibernateSessionFactory.java类。 5) 用MyEclipse根据数据库表生成 POJO类及相应的*.hbm.xml 先创建 com.sxjiang.pojo包用来存放 POJO类。 打开MyEclipse Database Explorer视图,打开前面创建的 Sql Server数据连接,然 后选择 student表,右键,选择菜单 Hibernate Reverse Engineering… 选择映射文件,POJO文件所存放的文件夹及包 生成表对应的 POJO类 是否生成三层结构,此处不生成 点击完成,就完成了自动生成 User的 POJO类,及 User.hbm.xml映射文件。 6) 编写测试类 packagepackagepackagepackage com.sxjiang; importimportimportimport org.hibernate.Transaction; importimportimportimport org.hibernate.Session; importimportimportimport com.sxjiang.pojo.*; publicpublicpublicpublic classclassclassclass HibernateTest { publicpublicpublicpublic staticstaticstaticstatic voidvoidvoidvoid main(String[] args) { // TODOTODOTODOTODO Auto-generated method stub Student student = newnewnewnew Student(); student.setName("蒋社想"); student.setPassword("12345"); student.setAge(27); Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); session.save(student); tx.commit(); } }
本文档为【第三章 Hibernate程序1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_329321
暂无简介~
格式:pdf
大小:380KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2012-05-31
浏览量:10