第一:概念
19.查詢可以不用事務,因為查詢對資料庫沒有影響。
20.get是單條查詢,load也是單條查詢
21.hibernate_seqence.nextval
22.查詢query,criteria
23.分頁:setmaxresult:每頁有幾個,setfirstresult:起始頁。預設資料庫中的資料的下標是從0開始的
scheam:是當前使用者。關注jqueryui。。。注意springmvc跟struts是相同的。ibatise跟hibernate是相同的
--------------
criteria c =session.createcriteria(news.class);是查詢全部的一種方法,
c.setmaxresults(3);和c.setfirstresult(1);是分頁要用的
------------
hibernate是對jdbc的輕量級物件封裝, hibernate本身是不具備事務處理功能的,hibernate事務實際上是底層的jdbc事務的封裝,或者是jta事務的封裝hibernate的jdbctransaction根本就是conn.commit而已,根本毫無神秘可言,
只不過在hibernate中, session開啟的時候,就會自動conn.setautocommit(false),不像一般的jdbc,預設都是true,所以你最後不寫 commit也沒有關係,
由於hibernate已經把autocommit給關掉了,所以用hibernate的時候,你在程式中不寫transaction的話,資料庫根本就沒有反應。
這個屬性標籤中有四個引數可以寫,這四個引數是對資料庫中插入的進行不同的操作,分別為:
(1)create-drop
(2)create
(3)update
(4)validate
下面分別來介紹他們的作用以及對資料庫中的影響
(1)create-drop
create-drop:表示在hebarinate初始化時建立**,程式執行結束的時候會刪除相應的**,在實際專案中不用
(2)create
在hibernate初始化時會建立**,在執行結束之後不刪除**,而是在下一次執行的時候如果有舊的刪掉,沒有舊的,重新建**
(3)update
只是根據對映檔案去和資料庫中的表對應起來,如果不一致,就更新表的結構
(4)validate
校驗對映檔案和資料庫中的表是不是能對應起來,不能對應報錯,實際中常用
注:在使用的時候必須要慎重,我就是在當時學習的時候所設定的屬性是validate,所以只要改了資料庫名就會拋初始化異常,當時我鬱悶了半天都不知道是怎麼回事,沒有往這方面想,後來才知到balidate是在沒有資料庫名的時候不讓你建立,會拋異常的。
第二:帶注釋的說明
1.實體類
package com.pojo;
public class testtable
public void settid(int tid)
public string gettname()
public void settname(string tname)
2.對映檔案
3.hibernate主配置檔案
<?xml version='1.0' encoding='utf-8'?>
">
chujdbc:oracle:thin:@localhost:1521:orcl
chu1
1234
oracle.jdbc.oracledriver
org.hibernate.dialect.oracle9dialect
update
true
true
4.公共的hibernate工廠類
package com;
import org.hibernate.hibernateexception;
import org.hibernate.session;
import org.hibernate.cfg.configuration;
/*** configures and provides access to hibernate sessions, tied to the
* current thread of execution. follows the thread local session
* pattern, see .
*/public class hibernatesessionfactory catch (exception e)
}private hibernatesessionfactory()
/*** returns the threadlocal session instance. lazy initialize
* thesessionfactory
if needed.
** @return session
* @throws hibernateexception
*/public static session getsession() throws hibernateexception
session = (sessionfactory != null) ? sessionfactory.opensession()
: null;
threadlocal.set(session);
}return session;
}/**
* rebuild hibernate session factory**/
public static void rebuildsessionfactory() catch (exception e)
}/**
* close the single hibernate session instance.
** @throws hibernateexception
*/public static void closesession() throws hibernateexception
}/**
* return session factory**/
public static org.hibernate.sessionfactory getsessionfactory()
/*** return session factory
** session factory will be rebuilded in the next call
*/public static void setconfigfile(string configfile)
/*** return hibernate configuration**/
public static configuration getconfiguration()
5.真正的dao層呼叫
package com.dao;
import org.hibernate.session;
import org.hibernate.sessionfactory;
import org.hibernate.transaction;
import org.hibernate.cfg.configuration;
import com.pojo.testtable;
public class testdao
}
Hibernate 01 配置檔案
hibernate 配置檔案 此內容用於新手上路 hibernate配置檔案支援兩種形式,一種是xml格式的配置檔案,另一種是j a屬性檔案格式的配置檔案,採用 鍵值 的形式。建議採用xml格式的配置檔案。xml配置檔案可以直接巴對對映檔案進行配置,並由hibernate自動載入,而properti...
01 基礎概念
介面說明 s 表示序列介面 g 表示1000mb乙太網介面 f 表示100mb乙太網介面 e 表示10m乙太網介面 ap 無線接入點 wlc 無線控制器 osi參考模型 分別為 物理層,鏈路層,網路層,傳輸層,會話層,表示層,應用層 物理層 提供物理裝置,網絡卡,網線,各種傳輸媒介。鏈路層 封裝成資...
01 Hibernate簡單介紹
可以理解成是乙個半成品專案,它封裝了一些功能,我們不需要操心它是怎麼實現的,只需要掌握它的使用。框架可以提高開發效率。物件導向概念 面向關係概念類表 物件表的行 記錄 屬性表的列 字段 orm思想 將關聯式資料庫中表中的記錄對映成為物件,以物件的形式展現,程式設計師可以把對資料庫的操作轉化為對資料庫...