- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验 五 Hibernate基础实验
实验五 Hibernate基础实验
Part one Hibernate对表的添加
Hibernate的基本功能和基本用法
实验要求:通过Hibernate将一个Java对象插入到数据库表中
实验原理:
Hibernate是一个面向Java环境的对象/关系数据库映射工具,Hibernate不仅管理Java类型到数据库表的映射,还提供查询数据和操作数据的OO方法。
Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用OO编程思想来处理数据库。
Hibernate采用映射元数据来描述对象-关系的映射细节,元数据通常采用XML。
关系数据库中的元组通过ORM转换成应用程序中的对象;反之,应用程序中的对象通过ORM持久化成关系数据库中的元组。
可以利用Hibernate框架根据配置和类及映射文件生成数据库表结构,反过来,也可以根据数据库表结构生成持久化类和映射文件。
实验准备:
安装SQL Server20XY(如果是Windows XP上的SQL Server2000版,需要加补丁程序SP3)。
实验步骤:
创建Java Project TestH3_2
创建数据库及数据源
在test数据库中创建表News
Use test
CREATE TABLE news (
id int IDENTITY (1, 1) primary key ,
title varchar (20) NOT NULL ,
content text
)
Go
context的长度在Hibernate中可能闲长,不能插入,需改成较短的类型!
设计表结构的图形界面如图5-1所示。
图5-1 设计News表结构的图形化界面
打开MyEclipse的Database Explore透视图,如图5-2所示。
图5-2 打开Database Explore透视图
创建数据库连接驱动,如图5-3所示。找到jtds-1.2.jar包所在位置。点击Add JARS,把该包包含进去即可。注意:SQL Server的Driver template选Microsoft SQL Server(jTDS Driver)。
图5-3 创建数据库连接
添加Hibernate功能
转到Java透视图,添加Hibernate使能功能,如果要用到连接池技术,则选择增加Hibernate Advanced Support Libraries。
图5-4 添加Hibernate能力,选择Hibernate3.3版本
图5-5 选择通过新建来创建Hiberntae配置文件
图5-6 选择创建会话工厂类
设置反向工程的有关操
转到数据库浏览透视图,选择相应的数据库/DBO中的表,进行反向工程。
注意同一个数据源可以被多个工程共享,持久化映射的时候通过项目的src文件夹建立绑定关系。设置反向工程的有关操作,如图5-7所示。
图5-7 设置反向工程的操作
生成映射文件
配置类型映射和主键产生方式后,生成映射文件。
图5-8 配置类型映射和主键产生方式
注意ID的生成方式为increment。
创建测试程序
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import com.dao.News;
public class TestH3_2 {
public static void main(String[] args) {
Configuration conf = new Configuration().configure();
SessionFactory sf = conf.buildSessionFactory();
Session sess = sf.openSession();
Transaction tx = sess.beginTransaction();
News n = new News();
n.setTitle(第3条消息);
n.setContent(今天天晴了);
sess.save(n);
mit();
sess.close();
}
}
}
}
运行并观察运行结果
1.运行后,在数据库表插入数据。
sess.save(n)被转换成如下一条SQL语句
insert into news_table (title, content) values (第一条消息, 今天天晴了)Hibernate操作数据库的各种技术。
实验要求:通过Hibernate的查询语言HQL对一个数据库表进
您可能关注的文档
- Drools的进一步研究.doc
- windows 下C++操作Mysql的一些总结.doc
- WebQuest网络课堂设计.doc
- dbcp优化配置说明.doc
- 英语专业大四精度第4单元单词.doc
- 循环队列的操作和实现C语言.docx
- 北京版 4年级 Unit 6 May I take your order? Lesson 20.doc
- 链队的基本操作.doc
- 成人高等学校入学考试(专科升本科)《英语》辅导资料.doc
- 数据结构测验12-1答案.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)