如何通過配置hibernate方言包+GBase8s jdbc實現GBase8s資料庫操作
h
ibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,它將POJO與資料庫表建立對映關係,是一個全自動的orm框架
。
hibernate可以自動生成SQL語句,自動執行,可以隨心所欲的使用物件程式設計思維來操縱資料庫。
不同資料庫語法細節上存在差異,hibernate 可根據方言自動應付底層資料庫訪問所存在的細節差異,將HQL有針對的轉化為某一資料庫所支援的SQL語句 。
GBase8s Hibernate方言包,針對GBase8s資料庫定製的語法解析包, 本文通過例項介紹如何通過 hibernate方言包 實現連線GBase8s資料庫,實現資料新增 與查詢 過程。
1、首先,工程中引入 GBase8s hibernate方言包、hibernate原生包 檔案,以及GBase8s驅動程式。
2、 配置檔案
1 )配置 hibernate.cfg.xml 檔案
<? xml version = "1.0" encoding = "UTF-8" ?>
<! DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
" >
< hibernate-configuration >
< session-factory >
<!-- 配置資料庫連線的基本資訊 : -->
< property name = "hibernate.connection.driver_class" >
com.gbasedbt.jdbc.Driver
</ property >
< property name = "hibernate.connection.url" >
jdbc:gbasedbt-sqli://172.16.33.240:5555/test:GBASEDBTSERVER=ol_gbasedbt1210_2;
</ property >
< property name = "hibernate.connection.username" > root </ property >
< property name = "hibernate.connection.password" > redhat </ property >
<!-- 配置 Hibernate 方言,用於針對不同資料庫生成不同底層SQL 語句 -->
< property name = "hibernate.dialect" >
gbase.hibernate.dialect.GBaseDialect
</ property >
<!-- 顯示 SQL -->
< property name = "show_sql" > true </ property >
<!-- 格式化 SQL -->
< property name = "hibernate.format_sql" > true </ property >
<!-- 關閉事物自動提交 -->
< property name = "hibernate.connection.autocommit" > false </ property >
<!-- hbm : 對映 to DDL -->
<!-- update :如果資料庫中沒有表,建立一個新的表,如果有,直接使用這個表,並可以更新表的結構。 -->
< property name = "hibernate.hbm2ddl.auto" > update </ property >
< mapping resource = "com/hibernate/util/student.hbm.xml" />
</ session-factory >
</ hibernate-configuration >
hibernate.cfg.xml 檔案 主要引數說明
1) hibernate.connection.driver_class 屬性,配置為GBase8s 驅動類名稱定義為
com.gbasedbt.jdbc.Driver
2) hibernate.connection.url 屬性,為GBase8s 資料庫 url
3) hibernate.connection.username 屬性,為GBase8s 資料庫使用者名稱
4) hibernate.connection.password 屬性,為GBase8s 資料庫密碼
5) hibernate.dialect 屬性,為GBase8s 資料庫方言,定義為
gbase.hibernate.dialect.GBaseDialect
6) hibernate.connection.url 屬性,為GBase8s 資料庫 url
7) hibernate 物件- 關係對映檔案 配置 為 com/hibernate/util/student.hbm.xml
2 )配置物件 - 關係對映檔案, com/hibernate/util/student.hbm.xml
com/hibernate/util/student.hbm.xml 檔案如下:
<? xml version = "1.0" ?>
<! DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
" >
< hibernate-mapping >
< class name = "com.hibernate.util.Student" table = "student" >
< id name = "id" column = "id" >
</ id >
< property name = "name" column = "name" type = "java.lang.String" />
< property name = "age" column = "age" type = "int" />
</ class >
</ hibernate-mapping >
3、配置實體類
public class Student {
private int id ;
private String name ;
private int age ;
/**
* @return the age
*/
public int getAge() {
return this . age ;
}
/**
* @param age
* the name to set
*/
public void setAge( int age ) {
this . age = age ;
}
/**
* @return the name
*/
public String getName() {
return name ;
}
/**
* @param name
* the name to set
*/
public void setName(String name ) {
this . name = name ;
}
/**
* @return the id
*/
public int getId() {
return id ;
}
/**
* @param id
* the id to set
*/
public void setId( int id ) {
this . id = id ;
}
}
4、執行用例
1 )插入 資料
public void insertUser(){
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
try {
SessionFactory sessionFactory = new MetadataSources( serviceRegistry ).buildMetadata().buildSessionFactory();
Session session = null ;
session = sessionFactory .openSession();
// 開始事物
Transaction transaction = session .beginTransaction();
Student s = new Student();
s .setId(1);
s .setAge(20);
s .setName( "zhangsan" );
session .save( s );
transaction .commit();
session .close();
sessionFactory .close();
} catch (Exception e ) {
StandardServiceRegistryBuilder. destroy ( serviceRegistry );
e .printStackTrace();
}
}
1 )插入 資料
public void select User s (){
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
try {
SessionFactory sessionFactory = new MetadataSources( serviceRegistry ).buildMetadata().buildSessionFactory();
Session session = null ;
session = sessionFactory .openSession();
String hql = "select u.name,u.age from Student u" ;
Query q = session .createQuery( hql );
List<Object[]> list = q .list() ;
for ( int i = 0; i < list .size(); i ++) {
Object[] os = list .get( i );
System. out .println( "name:" + os [0]+ "age : " + os [1]);
}
session .close();
sessionFactory .close();
} catch (Exception e ) {
StandardServiceRegistryBuilder. destroy ( serviceRegistry );
e .printStackTrace();
}
}
通過以上步驟實現通過 hibernate方言包 , 實現資料的插入和查詢 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69993860/viewspace-2844320/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通過配置hibernate方言包+GBase8s jdbc實現clob、blob、text、byte大物件資料型別操作JDBC物件資料型別
- 通過EFCore呼叫GBase8s資料庫儲存過程資料庫儲存過程
- GBase8s 資料庫檢視狀態資料庫
- GBase8s 檢視資料庫表空間資訊資料庫
- EF6連線GBase8s資料庫示例資料庫
- 使用瀚高資料庫hibernate方言報錯資料庫
- GBase8s資料型別介紹資料型別
- java通過jdbc連結資料庫JavaJDBC資料庫
- GBase8s BLOB型別使用操作示例型別
- EF6使用ADO.NET連線GBase8s資料庫示例資料庫
- GBase8s使用基礎
- 通過 Spring 框架如何進行JDBC操作呢?Spring框架JDBC
- JDBC資料庫連線池實現JDBC資料庫
- Springboot + Openjpa 整合 GBase8s 實踐Spring Boot
- hibernate及SpringBoot整合Jpa實現對資料庫操作Spring Boot資料庫
- Java的JDBC通過SSH Tunnel連線MySQL資料庫JavaJDBCMySql資料庫
- 【JDBC的實現步驟……MySQL資料庫】JDBCMySql資料庫
- Hibernate SQL方言 (hibernate.dialect)SQL
- GBase8s優化指令介紹優化
- GBase8s 的yacc語法分析語法分析
- 求助:hibernate如何實現資料庫備份與恢復啊?資料庫
- 通過shell指令碼批量操作mysql資料庫指令碼MySql資料庫
- 通過vmstat的簡單分析資料庫操作資料庫
- java應用通過jdbc連線資料庫jdbc的串的3種寫法:JavaJDBC資料庫
- Mysql資料庫是如何通過索引定位資料MySql資料庫索引
- 通過svn命令實現建立版本庫下的資料夾,並且可以操作訪問
- mysql通過kafka實現資料實時同步(三)——es叢集配置MySqlKafka
- 通過現有的資料庫備份建立新的資料庫資料庫
- 通過sysbench工具實現MySQL資料庫的效能測試MySql資料庫
- Java 的JDBC 資料庫連線池實現方法JavaJDBC資料庫
- 如何通過配置高效環境實現PHP優化PHP優化
- JDBC中連線資料庫的常用jar包JDBC資料庫JAR
- 通過修改jdbc配置檔案方式修改Weblogic資料來源密碼JDBCWeb密碼
- PHP常用操作類實現——資料庫操作類PHP資料庫
- 使用iptables實現資料包過濾(轉)
- 教程:如何通過DLA實現資料檔案格式轉換
- 如果通過流資料實現實時分析?
- 通過資料庫鏈執行TEXT操作的小bug資料庫