以下幾篇部落格中,我將會按章節把hibernate詳細講解一遍,將包括以下內容:
一、hibernate的簡單配置,單張表的增刪改查操作
二、hibernate的一對一單邊雙邊配置、以及增刪改查
三、hibernate的一對多單邊配置、以及增刪改查
四、hibernate的多對一單邊配置、以及增刪改查
五、hibernate的多對多單邊雙邊配置、以及增刪改查
環境:myeclipse+windows+hibernate3.0
hibernate入門教程 第一章
hibernate的簡單配置、單張表的增刪改查操作(student為例)
0、myeclipse中提供的hiernate工具模擬較複雜,這裡我們用hibernate官方提供的hibernateutil,可以實現同樣的功能,不過就簡單多了,以下及以後的例子中,hibernate採用配置檔案形式(看的方便),不採用註解方式(現在一般公司裡都採用註解方式)
hibernateutil類:
public class hibernateutil
public static sessionfactory getsessionfactory()
}
一、hibernate配置檔案
<?xml version='1.0' encoding='utf-8'?>
org.hibernate.dialect.mysqldialect
jdbc:mysql://localhost:3306/test100?useunicode=true&characterencoding=utf-8
root
niit
com.mysql.jdbc.driver
com.mysql.jdbc.driver
true
true
student.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
student類:
public class student
public student(int sno, string name, string address)
@override
public string tostring()
public int getsno()
public void setsno(int sno)
public string getname()
public void setname(string name)
public string getaddress()
public void setaddress(string address)
}
二、資料庫操作
1、根據模型,自動生成表,注意,配置檔案出錯,這裡不檢查的
public static void fun1()
2、向表中插入資料,要開啟事務
public static void fun2()
3、查詢資料
public static void fun3()
}
4、
/**
* 更新資料
* 1、新建乙個物件的id在表中存在好話,通過new乙個物件,就可以更新,如果有的字段沒有用set方法,將改字段跟新為null
*/public static void fun5()
5、
/**
* 更新資料
* 以下方式不同於fun5(),沒有set的字段不會為null
*/public static void fun6()
6、
**
* 更新資料
* 以下方式不同於fun6(),不會整行記錄更新
*/public static void fun7()
說明:上面的4、5、6都是更新資料,但是不同的,我們來看生成的sql語句
:fun5(): 開始時候資料庫
執行後:
sql語句:
update
test100.student
setname=?,
address=?
where
sno=?
我們可以看到address變空了
fun6():sql語句
update
test100.student
setname=?,
address=?
where
sno=?
fun7();sql語句
update
test100.student
setname=?,
address=?
where
sno=?
我們看到fun6()和fun7()中整個欄位都更新了,這肯定不是我們想看到的
這裡給出以下解決方案:
hibernate 基於例項的入門教程
使用jdbc做資料庫相關功能開發會做很多重複性的工作,比如建立連線,關閉連線,把字段逐一對映到屬性中。hibernate把這一切都封裝起來了,使得資料庫訪問變得輕鬆而簡單,也更加容易維護。第一次使用hibernate會有乙個比較多步驟的配置過程,以後再使用,就很簡單了。必讀 基於框架的程式要成功執行...
CSS入門教程
css是 cascading style sheets 的簡稱,中文翻譯為 串接樣式表 也有人翻譯為 樣式表 css用以作為網頁的排版和風格設計,在web標準建站中,對css的熟悉和使用是相當重要的乙個內容。css的作用是彌補html的不足,讓網頁的設計更為靈活。這個文章只是為您介紹css的基礎應用...
CSS入門教程
css是 cascading style sheets 的簡稱,中文翻譯為 串接樣式表 也有人翻譯為 樣式表 css用以作為網頁的排版和風格設計,在web標準建站中,對css的熟悉和使用是相當重要的乙個內容。css的作用是彌補html的不足,讓網頁的設計更為靈活。這個文章只是為您介紹css的基礎應用...