欢迎来到天天文库
浏览记录
ID:58685987
大小:364.50 KB
页数:13页
时间:2020-10-12
《实验五 hibernate基础实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验五hibernate基础实验PartoneHibernate对表的添加实验目的:掌握Hibernate的基本功能和基本用法实验要求:通过Hibernate将一个Java对象插入到数据库表中实验原理:(1)Hibernate是一个面向Java环境的对象/关系数据库映射工具,Hibernate不仅管理Java类型到数据库表的映射,还提供查询数据和操作数据的OO方法。(2)Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用OO编程思想来处理数据库。(3)Hibernate采用映射元数据来描述对象-关系的映射细节,元数据通常采用XML。(4)关系数
2、据库中的元组通过ORM转换成应用程序中的对象;反之,应用程序中的对象通过ORM持久化成关系数据库中的元组。(5)可以利用Hibernate框架根据配置和类及映射文件生成数据库表结构,反过来,也可以根据数据库表结构生成持久化类和映射文件。实验准备:安装SQLServer200X及其补丁程序SP3(对WindowsXP)。实验步骤:一、创建JavaProjectTestH3_2二、创建数据库及数据源1.在test数据库中创建表NewsUsetestCREATETABLEnews(idintIDENTITY(1,1)primarykey,titlevarchar(20)NOTNULL,
3、contenttext)go2.在MyEclipse的数据库透视图中创建数据源一、添加Hibernate功能1.转到Java透视图,添加Hibernate使能功能,如果要用到连接池技术,则选择增加HibernateAdvancedSupportLibraries。1.生成映射文件注意同一个数据源可以被多个工程共享,持久化映射的时候通过项目的src文件夹建立绑定关系。注意ID的生成方式,native比较安全。一、创建测试程序importorg.hibernate.*;importorg.hibernate.cfg.Configuration;importcom.dao.News;p
4、ublicclassTestH3_2{publicstaticvoidmain(String[]args){Configurationconf=newConfiguration().configure();SessionFactorysf=conf.buildSessionFactory();Sessionsess=sf.openSession();Transactiontx=sess.beginTransaction();Newsn=newNews();n.setTitle("第3条消息");n.setContent("今天天晴了");sess.save(n);tx.commi
5、t();sess.close();}}}}二、运行并观察运行结果1.运行后,在数据库表插入数据。sess.save(n)被转换成如下一条SQL语句insertintonews_table(title,content)values("第一条消息","今天天晴了"),其主键由系统自动产生。2.注意观察系统产生的持久类和配置、映射文件。Part2Hibernate对单表的各种操作技术实验目的:掌握通过Hibernate操作数据库的各种技术。实验要求:通过Hibernate的查询语言HQL对一个数据库表进行插入、检索、更新和删除操作,即CRUD操作。实验原理:Hibernate的核心接口
6、类关系图如下:<>Transaction实例化Hibernate的核心接口类关系图其中的Query和Criteria接口用于执行各种数据库查询。vSession的Query实例封装一个HQL(HibernateQueryLanguage)查询语句,查询语句与SQL查询语句有些相似,但HQL查询语句是面向对象的,它引用类名及类的属性名,而不是表名及表的字段名。vSession的Criteria接口完全封装了基于字符串形式的查询语句,比Query接口更加面向对象,Criteria接口擅长于执行动态查询。vSession接口自己的find()方法也具有数据查询功能
7、,但它只是执行一些简单HQL查询语句的快捷方法,它的功能远没有Query接口强大。实验步骤:1.先完成实验一,建立环境和数据库。2.使用Session的Query接口查询,将TestH3_2.java改为:importorg.hibernate.*;importorg.hibernate.cfg.Configuration;importjava.util.*;importcom.dao.News;publicclassTestH3_2{/***@paramargs*/public
此文档下载收益归作者所有