Hibernate 連線oracle 相關配置
阿新 • • 發佈:2019-02-16
今天分享一下 hibernate 連線Oracle的一下配置
1.Oracle的自動增長需要單獨建立索引
例如:
CREATE SEQUENCE MYSEQ MINVALUE 1 START WITH 1 NOMAXVALUE INCREMENT BY 1 NOCYCLE CACHE 30 |
2.配置 .hbm.xml 先在 Oracle中新增序列
程式碼如下:
.hbm.xml 配置如下:create sequence seq_value Start with 1 Increment by 1;
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.xw.easybuy.product.vo"> <class name="Product" table="easybuy_product"> <id name="eyb_Pid" type="integer"> <generator class="sequence"> <param name="sequence">seq_value
</param><!-- 此處seq_value 需要和Oracle中的索引 sql_value相對應 --!> </generator> </id> <!-- 可以忽略 <property name="eyb_pname"/> <property name="eyb_price"/> <property name="eyb_image"/> <property name="eyb_desc"/> <property name="eyb_is_hot"/> <property name="eyb_stock"/>
--!>
</class>
</hibernate-mapping>
3.hibernate.cfg.xml的配置
//方言
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</property>
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="user" value="scott" />
<property name="password" value="tiger"/>
4.Oracle中新增資料程式碼:
insert into EASYBUY_CATEGORY values (seq_value.nextval,'首頁');
//seq_value.nextval :是自動增長列
5.hibernate 中新增資料:
和其他資料庫差不多
Student stu = new Student();
//通過Student的setter方法改變它的屬性
//注意student_id不用我們設定
stu.setStudent_name("zhangsan");
stu.setStudent_age(18);
//通過session的save()方法將Student物件儲存到資料庫中
session.save(stu);