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. AC日记——国王游戏 洛谷 P1080

    国王游戏 思路: 贪心+高精: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1005 struct Dat ...

  2. #pragma once 与 #ifndef

    #pragma once:保证头文件只被编译一次.这种方式,是微软编译器独有的,也是后来才有的,所以知道的人并不是很多,用的人也不是很多,因为他不支持跨平台.如果你想写跨平台的代码,最好使用上一种.这 ...

  3. Django学习过程中的排错总结

    报错一:RuntimeError: You called this URL via POST, but the URL doesn't end in a slash and you have APPE ...

  4. Web页面中两个listbox的option的转移

    Html: <div><span>所选时间:</span><select id="xuanyongTimelb" style=" ...

  5. POJ1845 Sumdiv [数论,逆元]

    题目传送门 Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 26041   Accepted: 6430 Des ...

  6. HTTP协议1:工作原理

    http://blog.csdn.net/huangjin0507/article/details/51678858 1. HTTP简介 HTTP协议(HyperText Transfer Proto ...

  7. HDU 6118 2017百度之星初赛B 度度熊的交易计划(费用流)

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. 安装zabbix监控系统

    环境 操作系统 最小化安装CentOS Linux release 7.2.1511 IP 192.168.88.1 zabbix版本 zabbix-3.4.4.tar.gz zabbix依赖于LNM ...

  9. ActiveMQ 认证(一)

    新搭建的ActiveMQ服务,在发布和读取消息时,连接的权限为ActiveMQConnection.DEFAULT_USER和ActiveMQConnection.DEFAULT_PASSWORD. ...

  10. 桌面笔记工具KeepNote

    桌面笔记工具KeepNote   在渗透测试过程中,安全人员经常需要记录各种数据,如输出结果.运行截图.测试心得.这类信息格式多样,可能是图片.文字.文件等.为了便于管理这些内容,Kali Linux ...