1下载hibernate-3.6.0 Final.zip到任意目录,解压缩后得到hibernate目录

2下载slf4j-1.7.13.zip到任意目录,解压缩后得到slf4j-1.7.13

3操作数据库

sqlplus system/Oracle

创建表

create table Student

(
 Student_ID  number(6) NOT NULLPRIMARY KEY,
 Student_Name varchar2(10) NOT NULL,
 Student_Age number(2) NOT NULL
);

创建序列号用于给表Student的Student_ID赋值

CREATE SEQUENCEstudent_sequence 
INCREMENT BY 1
START WITH 1000
NOMAXVALUE
NOCYCLE
CACHE 10;

4新建一个名为Hiber的工程

5添加包

添加hibernate\jar中的所有包

添加slf4j-1.7.13中的slf4j-nop-1.7.13.jar

添加oracle的jdbc驱动程序ojdbc6.jar

添加完成后

6 添加两个配置文件和两个类

(1)hibernate.cfg.xml

  1. <!DOCTYPE hibernate-configuration PUBLIC
  2. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  4. <hibernate-configuration>
  5. <session-factory>
  6. <!--程序执行的时候是否显示真正的sql语句-->
  7. <property name="show_sql">true</property>
  8. <!--使用的SQL对应的“方言”,此处是Oracle11的“方言”-->
  9. <property name="dialect">org.hibernate.dialect.OracleDialect
  10. </property>
  11. <!--连接数据库的Driver-->
  12. <property name="connection.driver_class">
  13. oracle.jdbc.driver.OracleDriver
  14. </property>
  15. <!--数据库连接url-->
  16. <property name="connection.url">
  17. jdbc:oracle:thin:@localhost:1521:orcl
  18. </property>
  19. <!--用户名-->
  20. <property name="connection.username">system</property>
  21. <!--密码-->
  22. <property name="connection.password">oracle</property>
  23. <mapping resource="Student.hbm.xml"/>
  24. </session-factory>
  25. </hibernate-configuration>

(2)Student.Java

  1. public class Student
  2. {
  3. private int student_id;
  4. private String student_name;
  5. private int student_age;
  6. public int getStudent_id()
  7. {
  8. return student_id;
  9. }
  10. public String getStudent_name()
  11. {
  12. return student_name;
  13. }
  14. public int getStudent_age()
  15. {
  16. return student_age;
  17. }
  18. public void setStudent_id(int id)
  19. {
  20. this.student_id = id;
  21. }
  22. public void setStudent_name(String name)
  23. {
  24. this.student_name = name;
  25. }
  26. public void setStudent_age(int age)
  27. {
  28. this.student_age = age;
  29. }
  30. }

(3)Student.hbm.xml

  1. <?xml version="1.0"encoding="utf-8"?>
  2. <!DOCTYPEhibernate-mapping
  3. PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  5. <hibernate-mapping>
  6. <classname="Student"table="Student">
  7. <idname="student_id"column="student_id"type="java.lang.Integer">
  8. <generatorclass="native">
  9. <paramname="sequence">student_sequence</param>
  10. </generator>
  11. </id>
  12. <propertyname="student_name"column="Student_Name"
  13. type="java.lang.String"/>
  14. <propertyname="student_age"column="Student_Age"
  15. type="java.lang.Integer"/>
  16. </class>
  17. </hibernate-mapping>

(4)Test.java

  1. importorg.hibernate.*;
  2. import org.hibernate.cfg.*;
  3. public class Test
  4. {
  5. public static voidmain(String[]args)
  6. {
  7. try
  8. {
  9. //通过Configuration获得一个SessionFactory对象
  10. SessionFactory sf = new Configuration().configure().buildSessionFactory();
  11. //打开一个Session
  12. Session session= sf.openSession();
  13. //开始一个事务
  14. Transaction tx =session.beginTransaction();
  15. //创建一个Student对象
  16. Student stu =new Student();
  17. //通过Student的setter方法改变它的属性
  18. //注意student_id不用我们设置
  19. stu.setStudent_name("zhangsan");
  20. stu.setStudent_age(18);
  21. //通过session的save()方法将Student对象保存到数据库中
  22. session.save(stu);
  23. //提交事务
  24. tx.commit();
  25. //关闭会话
  26. session.close();
  27. }
  28. catch(Exception e)
  29. {
  30. e.printStackTrace();
  31. }
  32. }
  33. }

7 验证

(1)运行Test.java,结果为

Hibernate: select student_sequence.nextvalfrom dual

Hibernate: insert into Student(Student_Name, Student_Age, student_id) values (?, ?, ?)

(2)从Oracle数据库中查询

Java笔记8:Hibernate连接Oracle的更多相关文章

  1. Java JDBC Thin Driver 连接 Oracle 三种方法说明(转载)

    一.JDBC 连接Oracle 说明 JDBC 的应用连接Oracle 遇到问题,错误如下: ORA-12505,TNS:listener does not currently know of SID ...

  2. 【JDBC】java程序通过jdbc连接oracle数据库方法

    版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏).未经博主同意不得转载. https://blog.csdn.net/u011538954/articl ...

  3. hibernate 连接 oracle数据库

    前言:以下所有的操作都是基于你已经成功安装了oracle数据库并且java的开发环境正常的情况下进行的. 如果没有完善请先配置基础环境. 第一步:配置需要的环境(下载并导入需要的包). 我的百度云盘里 ...

  4. hibernate连接Oracle rac

    连接方式与普通的数据库不一样.connection.url 中使用了LOAD-BALANCE = yes 要不然会报错 <hibernate-configuration> <sess ...

  5. hibernate连接oracle数据库

    前言:以下所有的操作都是基于你已经成功安装了oracle数据库并且java的开发环境正常的情况下进行的. 如果没有完善请先配置基础环境. 第一步:配置需要的环境(下载并导入需要的包). 下载链接:ht ...

  6. 使用Hibernate连接Oracle 无法识别生成的SQL问题

    问题: 在JAVA工程中,数据库使用的是OracleXE(Oracle10g Express Edition). 使用hibernate.reveng.xml创建了实体类及其DAO类,如: tt.my ...

  7. hibernate连接oracle

    <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC           & ...

  8. Java使用数据库连接池连接Oracle数据库

    第一步:导入tomcat\lib 下的一个tomcat-dbcp.jar包第二步:在web\META-INF下新建一个context.xml文件,文件内容如下: <?xml version=&q ...

  9. hibernate 连接oracle数据库的配置 (参考)

    <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC          &qu ...

随机推荐

  1. [BZOJ4456] [Zjoi2016]旅行者 分治+最短路

    4456: [Zjoi2016]旅行者 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 777  Solved: 439[Submit][Status] ...

  2. [水煮 ASP.NET Web API2 方法论](12-4)OData 支持的 Function 和 Action

    问题 在 Web API 中使用 OData Function 和 Action. 解决方案 可以通过 ODataModelBuilder,使用 OData 构建 ASP.NET Web API, E ...

  3. 关于Vue-cli的跨域解决

    由于Vue-cli服务器是跑在node环境下的8080端口,我们的php代码可能在Apache环境下的7070端口,这个时候就会出现跨域 此刻这段php代码在7070端口上 如果直接去访问 页面报错 ...

  4. 在 Ubuntu 系统安装 Redi

    在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 Redis $ redi ...

  5. 视频H5のVideo标签在微信里的坑和技巧

    随着 4G 的普遍以及 WiFi 的广泛使用,手机上的网速已经足够稳定和高速,以视频为主的 HTML5 也越来越普遍了,相比帧动画,视频的表现更加丰富,前段时间开发了一个以视频为主的移动端 HTML5 ...

  6. 堆管理之malloc和free分析

    在win7 64环境下分析 1.malloc代码 int main(){ void *p = malloc(0xa8); memset(p, 'a', 0xa8); free(p); return 0 ...

  7. NestedScrollView

    参考文章: Android滑动到顶部悬停 NestedScrollView的使用 效果图: 实现步骤: 将需要悬浮的layout放到CollapsingToolbarLayout之外,AppBarLa ...

  8. CodeForces 779C Dishonest Sellers

    贪心. 如果这周便宜,那么肯定这周买.另外要求这周至少买到$k$个,那么肯定是需要额外购买差价小的. #include<map> #include<set> #include& ...

  9. 决策树:ID3与C4.5算法

    1.基本概念 1)定义: 决策树是一个预测模型:他代表的是对象属性与对象值之间的一种映射关系,树中每个节点代表的某个可能的属性值. 2)表示方法: 通过把实例从根结点排列到某个叶子结点来分类实例,叶子 ...

  10. Redux-react connect 源码自己重写

    import Counter from '../components/Counter'; import { increment, decrement, incrementIfOdd, incremen ...