hibernate入门与配置.ppt_第1页
hibernate入门与配置.ppt_第2页
hibernate入门与配置.ppt_第3页
hibernate入门与配置.ppt_第4页
hibernate入门与配置.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、hibernate 入门与配置,还记得JDBC吗,在我们讲hibernate之前先回顾JDBC与数据库打交道的过程 创建一个以JDBC连接数据库的程序,包含7个步骤,1加载JDBC驱动程序:Class.forName(com.mysql.jdbc.Driver) 2 提供JDBC连接的URL 3 创建数据库的连接:向java.sql.DriverManager请求并获得Connection对象,DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密

2、码 创建一个Statement ,Statement stmt = con.createStatement() ; 5 执行SQL语句 ,ResultSet rs = stmt.executeQuery(SELECT * FROM .) ; 6 处理结果 :while(rs.next() String name = rs.getString(name) ; String pass = rs.getString(1) ; / 此方法比较高效 7、关闭JDBC对象:操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,传统JDBC的缺点?,程序员在用面向对象的方式编写程序,当要访问数

3、据库时,使用JDBC时无可避免地需要写SQL语句,sql语句并不是面向对象的语言。写sql语句的过程中,需要知道表的结构,比如insert(属性1,属性2.),这样造成写sql语句很麻烦,而且表与表之间的差别很大。此过程要求程序员必须对数据库中表结构十分了解,ORM,OMR(Object Relation Mapping对象关系映射),主流的ORM框架有hibernate、toplink、OJB 接下来就是hibernate了.,hibernate是什么?,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程

4、思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 什么意思(_图1,由图中可以知道hibernate的几个核心接口,Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration (打开图2),Session接口 Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库

5、的交流,包含了很多常见的SQL语句。) SessionFactory接口 SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。 Configuration接口 Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口 Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代

6、码。 Query和Criteria接口 Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。,Session save()方法会直接把我们创建的对象放到数据库里面。不需要sql语句 hibernate一端连着面向对象的写法,一端连着面向关系的数据库,我的试验中使用的是hibernate-3.2.5,打开hibernate,介绍目录。等下要用到目录下的一些东东 Doc 文档 Eg 例子 Ect 配置文件 Grammar 语法 Lib 依赖的jar包 Src 完整源代码 Test 测试用例 Hibernate3.jar 完成关系对象映射 hiber

7、nate官方网站/,开始配置(helloworld小程序),安装好eclipse(可以是MyEclipse)和MySQL(可以是其他的数据库管理系统) 我的实验中使用的是MyEclipse6.*和MySQL。,(1)建立新的java项目(实例中取名为Hibernate_Helloworld) (2)导入所需要的jar包(演示,注意三个地方:lib、hibernate3.jar、数据库驱动)(myeclipse下自带有jpi,可以让其自动导入jar包,实验中使用的是导入jar包的方式) (3)在MySQL中建立对应的数据库以及表(数据库test表st

8、udent(id int primary key ,name varchar(20),age int)) (4)建立student类,建立在com.hibernate.model包下面(无格式的javabean(除了属性、构造函数和get、set方法,没有其他的多余的属性和方法) 注意第三步和第四步,我们的目的是把student实体类与数据库student表建立联系,使得对student表的操作转化成对student实体类面向对象的方法操作,比如我们向表中添加数据的时候能够直接调用save()方法把一个对象添加到数据库中的表),(5)建立hibernate的配置文件hibernate.cfg.

9、xml,配置文件是干嘛的?(与数据库连接;很多的数据库以及告诉数据库必要信息,比如用户名和密码) 名字是约定俗成的,并没有很严格的要求,完成了与数据库的连接,只需要填写相应的配置信息,可以去hibernate目录下的/ect下随便找到一个,hibernate的配置信息很多,具体配置信息可以参考/ect下的perties文件 另外一种是perties,但是xml文件的可读性更高,可以根据需要是否显示sql语句(可选) true com.mysql.jdbc.Driver jdbc:mysql:/localhost/hibernate root

10、891226,方言(识别是哪种sql语言) org.hibernate.dialect.MySQLDialect 根据需要建表(hbm2ddl.auto 要不要hibernate自动帮你生成建表语句) (参考文档1) 罗列映射文件(实体类与数据库之间是怎么关联的,假如数据库里面有很多个表,那我的这个类到底对应哪个表呢,类与表之间到底是哪个属性对应哪个属性呢) (接下来就讲映射文件。),(6)建立sudent映射文件,Student.hbm.xml,映射文件是干嘛的(表、属性) 约定俗成将这个映射文件与实体类放在同一个包下面,还有可以取其他的名字,但是最好是养成好的风格,建立的映射文件与实体类同名,基本内容,包名,映射文件的根元素,映射的是哪个目录下的类 表与类的对应关系,哪个类对应哪个表 这句话的意思是我的Student类跟你的student表对应,在默认情况下,也就是没有写table =。 的情况下,hibernate会假设实体类的名字和表名一样,数据库的表名是不区分大小写的。所以,如果两个名字一样,就可以不需要写tab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论