一个简单的hibernate连接oracle数据库例子!
一、 Hibernate介绍
Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案。ORM方案的思想是将对象模型表示的对象映射到关系型数据库中,或者反之。Hibernate目前是ORM思想在Java中最成功、最强大的实现。它于2001年的年末发布第一个版本,立即引起了广泛的注意。2003年6月,Hibernate2发表,并且获得Jolt大奖,进而被JBoss吸纳成为它的一个子项目。2005年3月,Hibernate 3发表,其中做了一些比较重大的改进。本文以Hibernate3为基础编写。
另外,Hibernate除了可以在J2EE容器中运行外,还可以运行在Java应用程序中。本文就是以Java应用程序为例来介绍它。
二、配置开发环境
本文以一个Java应用程序(Java Application)为例,介绍如何使用Hibernate来进行数据库操作。
在进行Hibernate开发之前,需要首先获得Hibernate类库、相应数据库的JDBC驱动类库。Hibernate类库可以从http://www.hibernate.org中下载,目前的版本是3.0。而JDBC驱动可以根据不同的数据库来选择,在这个例子中,使用的是Oracle数据库,那么相应的JDBC驱动可以从Oracle安装目录\ora92\jdbc下获得。其他的数据库请根据相关的说明获得。
下载Hibernate包后,可以将它解压到一个文件夹,此处假设为C:\hibernate-3.0,然后将C:\hibernate-3.0\下的hibernate.jar和C:\hibernate-3.0\lib下的那些第三方类库也放到环境变量CLASSPATH中。(通常,只需要dom4j、cglig、commons-logging、commons-collections、log4j、ehcache、asm、jta、antlr这些类库就可以了)
做完这些配置后,就可以在此基础上进行基于Hibernate的Java程序开发了。
三、开发基于Hibernate的应用
现在假设我们在Oracle数据库中创建了一个表Student,它的字段如下表所示:
字段 说明
Student_ID 学员编号,整型,PK,自动增长
Student_Name 学员姓名,字符串类型
Student_Age 学员年龄,整型
如果我们在Oracle中定义这个数据库表,我们可以定义一个创建数据库表的SQL脚本如下:
create table Student(
Student_ID number(6) NOT NULL PRIMARY KEY,
Student_Name varchar2(10) NOT NULL,
Student_Age number(2) NOT NULL
);
另外,因为在Oracle中没有“自动增长”类型的字段
相关文档:
某数据库中的一张表A,表A的数据库量现在大概有10亿条数据之多.
最初的做法是全部存放在一个表空间中.造成现在的查询速度龟爬似的.现在不得不对数据库做出重新评估和优化.
最初的前提:
1.中应该建立的索引都已具备
2.查询语句都已经做到优化:现在类似于 select count(1) from A 这么简单的一句统计SQL都需要100S左右
ta ......
在windows 下配置PHP使用ORACLE数据库要点
在window下,经常用apache + PHP 来做应用平台,但是如果使用oracle做后台数据库,但又没有安装有oracle客户端,下面的配置可以参考
1、在没有安装oracle的机器上,PHP无法加载php_oci8.dll模块,原因是php_oci8.dll依赖的相关组件没有找到。
你正确设置了 ......
1.安装时要执行两个脚本,root.sh是其中一个。
需要用root用户执行root.sh去生成/etc/oratab文件。————1.dbca中不会有删除选项(因为运行时需要/etc/oratab)
& ......
insert into dts_auction_comments (id,auction_id,user_id,user_nick,comments,gmt_create,gmt_modified,status,comm_type)
values(409,127380, ......
专用服务器:一个客户端连接对应一个服务器进程
共享服务器:多个客户端连接对应一个服务器进程,服务器端存在一个进程调度器来管理。
Oracle缺省用的是专用服务器模式,Oracle可以同时支持共享服务器和专用服务器模式,可以指定一个会话使用专用服务器,另一个会话使用共享服务器。
共享服务器具有以下一些缺点:
1)共 ......