Java笔记8:Hibernate连接Oracle
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
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <!--程序执行的时候是否显示真正的sql语句-->
- <property name="show_sql">true</property>
- <!--使用的SQL对应的“方言”,此处是Oracle11的“方言”-->
- <property name="dialect">org.hibernate.dialect.OracleDialect
- </property>
- <!--连接数据库的Driver-->
- <property name="connection.driver_class">
- oracle.jdbc.driver.OracleDriver
- </property>
- <!--数据库连接url-->
- <property name="connection.url">
- jdbc:oracle:thin:@localhost:1521:orcl
- </property>
- <!--用户名-->
- <property name="connection.username">system</property>
- <!--密码-->
- <property name="connection.password">oracle</property>
- <mapping resource="Student.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
(2)Student.Java
- public class Student
- {
- private int student_id;
- private String student_name;
- private int student_age;
- public int getStudent_id()
- {
- return student_id;
- }
- public String getStudent_name()
- {
- return student_name;
- }
- public int getStudent_age()
- {
- return student_age;
- }
- public void setStudent_id(int id)
- {
- this.student_id = id;
- }
- public void setStudent_name(String name)
- {
- this.student_name = name;
- }
- public void setStudent_age(int age)
- {
- this.student_age = age;
- }
- }
(3)Student.hbm.xml
- <?xml version="1.0"encoding="utf-8"?>
- <!DOCTYPEhibernate-mapping
- PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <hibernate-mapping>
- <classname="Student"table="Student">
- <idname="student_id"column="student_id"type="java.lang.Integer">
- <generatorclass="native">
- <paramname="sequence">student_sequence</param>
- </generator>
- </id>
- <propertyname="student_name"column="Student_Name"
- type="java.lang.String"/>
- <propertyname="student_age"column="Student_Age"
- type="java.lang.Integer"/>
- </class>
- </hibernate-mapping>
(4)Test.java
- importorg.hibernate.*;
- import org.hibernate.cfg.*;
- public class Test
- {
- public static voidmain(String[]args)
- {
- try
- {
- //通过Configuration获得一个SessionFactory对象
- SessionFactory sf = new Configuration().configure().buildSessionFactory();
- //打开一个Session
- Session session= sf.openSession();
- //开始一个事务
- Transaction tx =session.beginTransaction();
- //创建一个Student对象
- Student stu =new Student();
- //通过Student的setter方法改变它的属性
- //注意student_id不用我们设置
- stu.setStudent_name("zhangsan");
- stu.setStudent_age(18);
- //通过session的save()方法将Student对象保存到数据库中
- session.save(stu);
- //提交事务
- tx.commit();
- //关闭会话
- session.close();
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- }
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的更多相关文章
- Java JDBC Thin Driver 连接 Oracle 三种方法说明(转载)
一.JDBC 连接Oracle 说明 JDBC 的应用连接Oracle 遇到问题,错误如下: ORA-12505,TNS:listener does not currently know of SID ...
- 【JDBC】java程序通过jdbc连接oracle数据库方法
版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏).未经博主同意不得转载. https://blog.csdn.net/u011538954/articl ...
- hibernate 连接 oracle数据库
前言:以下所有的操作都是基于你已经成功安装了oracle数据库并且java的开发环境正常的情况下进行的. 如果没有完善请先配置基础环境. 第一步:配置需要的环境(下载并导入需要的包). 我的百度云盘里 ...
- hibernate连接Oracle rac
连接方式与普通的数据库不一样.connection.url 中使用了LOAD-BALANCE = yes 要不然会报错 <hibernate-configuration> <sess ...
- hibernate连接oracle数据库
前言:以下所有的操作都是基于你已经成功安装了oracle数据库并且java的开发环境正常的情况下进行的. 如果没有完善请先配置基础环境. 第一步:配置需要的环境(下载并导入需要的包). 下载链接:ht ...
- 使用Hibernate连接Oracle 无法识别生成的SQL问题
问题: 在JAVA工程中,数据库使用的是OracleXE(Oracle10g Express Edition). 使用hibernate.reveng.xml创建了实体类及其DAO类,如: tt.my ...
- hibernate连接oracle
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC & ...
- Java使用数据库连接池连接Oracle数据库
第一步:导入tomcat\lib 下的一个tomcat-dbcp.jar包第二步:在web\META-INF下新建一个context.xml文件,文件内容如下: <?xml version=&q ...
- hibernate 连接oracle数据库的配置 (参考)
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC &qu ...
随机推荐
- Pow(x, n)——这也能用二分法!!!!
Implement pow(x, n). 下面介绍一下解决该问题的几种方法以及要注意的地方: 1)最直观容易想到的方法就是用递归方法求n个x的乘积,注意考虑n的正负号,时间复杂度为O(n) class ...
- 从徐飞的文章《Web应用的组件化开发(一)中窥视web应用开发的历史
Web应用的组件化开发(一) 原文来自 徐飞 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追 ...
- BZOJ 2588: Spoj 10628. Count on a tree-可持久化线段树+LCA(点权)(树上的操作) 无语(为什么我的LCA的板子不对)
2588: Spoj 10628. Count on a tree Time Limit: 12 Sec Memory Limit: 128 MBSubmit: 9280 Solved: 2421 ...
- windows同时使用python2和3
前言 手头有些脚本,有些是在python2的环境下使用,有些是在python3的环境下使用 以前我是把python3的脚本都放在虚拟机中,现在发现是真的麻烦,于是来研究一下如何使得python2和3共 ...
- Flask实战第67天:Flask+Celery实现邮件和短信异步发送
之前在项目中我们发送邮件和 短信都是阻塞的,现在我们来利用Celery来优化它们 官方使用文档: http://flask.pocoo.org/docs/1.0/patterns/celery/ re ...
- [BZOJ3000]Big Number(斯特林公式)
求n!在k进制下的位数,n<=1e18 斯特林公式:$n!\approx \sqrt{2\pi n}(\frac{n}{e})^n$ 在n很大的时候有较好的精度保证. $\log_{k}n!+1 ...
- BZOJ 4059 [Cerc2012]Non-boring sequences(启发式分治)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4059 [题目大意] 一个序列被称为是不无聊的,仅当它的每个连续子序列存在一个独一无二的 ...
- React.js学习知识小结(一)
学习React也有半个月了吧,这里对所学的基础知识做个简单的总结.自己先是跟着官方文档学,差不多学了四五天,也跟着入门教程做了一个简单的小栗子.然后跟着阮一峰老师的教程上手了几个小Demo,后来在网上 ...
- stream_get_meta_data(打开的文件句柄) 拿到任何网站服务器名字,从封装协议文件指针中取得报头/元数据
$url = "http://www.sina.com/"; function parse($url) { if(!($fp = @fopen($url, 'rb')) ){ ex ...
- 一个 go 文件服务器 ssdb
file system ssdb go http listen 文件存储到 ssdb gfs | twemproxy | ssdb(master) ssdb(slave) ssdb 连接协议为 red ...