Hibernate配置Oracle

Hibernate配置之Oracle篇:

Oracle的安装我就不说了,网上有很多教程,不得不说有点麻烦(口令管理的地方需要注意,千万别忘了,要不以后会更麻烦),没装明白卸载起来就更麻烦了,我来来回回折腾了差不多三遍才差不多弄明白。需要注意的地方是安装的时候如果选择的是创建和配置数据库,那么安装完成以后就已经新建了一个数据库,不需要再次新建数据库了,而这个数据库的名字如果没有手动更改,那么应该就是默认的orcl了。

因为之前用的eclipse是比较新的oxygen版本,所以有很多插件已经不支持了,用起来比较麻烦,所以就下载了一个eclipse-jee-juno-SR1-win32-x86_64的64位eclipse,感觉比较好用,废话说到这里,下面进入Hibernate的配置:

1、第一步当然是要新建一个项目了(打开eclipse就算是第零步吧)File —>new—>Java Project—>输入Project name(          FirstHibernate)—>Finish;


需要注意的是JDK版本的选择,有高版本的尽量选择高版本的!!!

2、导入jar包,必需的jar包有Hibernate安装目录下的lib文件夹下的required文件夹中的所有jar包以及连接Oracle数据库的驱动,连接Oracle数据库的驱动在Oracle安装目录下的jdbc下的lib( E:\app\root\product\12.1.0\dbhome_1\jdbc\lib,此处为我的目录  )文件夹里,方便起见,附上目录图片和导入的jar包图片:



还有日志文件的jar包,不是运行所必需的,但是要显示项目的日志信息就需要导入。

3、编写实体类User.java(为了隐藏项目复杂性,在src目录下新建org.User包):


package org.User;

public class User {
	private int id;
	private int age;
	private String name;
	private String password;

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;  
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

4、编写配置文件(用来配置Oracle数据库,此文件要放在src目录下)hibernate.cfg.xml():


<!--
  ~ Hibernate, Relational Persistence for Idiomatic Java
  ~
  ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
  ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="show_sql">true</property>
		<property name="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</property>
		<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
		<property name="hibernate.connection.username">system</property>
		<property name="hibernate.connection.password">123456</property>
		<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
		<mapping resource="org/User/hibernate.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

这里可以用Data Source Explorer测试一下配置是否成功!

5、在数据库中新建表(t_user),此处为数据库操作不进行详细介绍,需要注意的是Oracle表的刷新是要写SQL语句的,之前因为不知道这个事Gd我愣是把配置好的Hibernate又折腾了一遍:


6、编写映射文件hibernate.hbm.xml(实体类和数据库表之间的映射,和实体类放在同一个包下):


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2017-8-22 10:37:16 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
    <class name="org.User.User" table="T_USER">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="increment" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" />
        </property>
        <property name="age" type="int">
            <column name="AGE" />
        </property>
    </class>
</hibernate-mapping>

这里主要是实体类和数据库表之间的对应关系!

7、新建包(org.Test),编写测试类(用于运行和验证整体配置是否成功):


package org.Test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.User.User;
public class Test{
	public void testIncrease(){
	Configuration conf = new Configuration().configure();
	SessionFactory sf = conf.buildSessionFactory();
	Session session  = sf.openSession();
	Transaction tx = null;
	try {
		tx = session.beginTransaction();
		User u = new User();
		u.setName("小巴");
		u.setPassword("aiweigege");
		session.save(u);
		tx.commit();
	} catch (Exception e)
	{
		// TODO: handle exception
		if(null!=tx){tx.rollback();}
		e.printStackTrace();
	}
}

	
	public static void main(String[] args) {
		Test test = new Test();
		test.testIncrease();
		//test.testDelete();
	}
}

这里需要掌握java里的一些关于session类的知识了!

8、运行Test.java,查看是否配置成功:

如果出现以下结果,证明配置成功!


此时在数据库中的表已经被更新:


Hibernate和Oracle搭桥成功,大功告成!!!


猜你喜欢

转载自blog.csdn.net/qq_39209361/article/details/80502104
今日推荐