第一步,新建一個項目 , 導包 一類是hibernate的jar包,一類是jdbc的jar包
hibernate的jar包是
注意紅框的地址就是jar包的位置,將這些jar包全都導入lib根下;然后將jdbc的jar包導入lib根下。
第二步:配置hibernate.cfg.xml文件

查看搜索出來的文件,將帶有
划紅框的五個屬性名的文件復制到項目src根下,取名為hibernate.cfg.xml(可以取其他名字,不過要在配置中選擇你取的名字,不然找不到)
紅框中的1 是方言 可以到
查找,將這個文件拖拽到Eclipse中打開,Ctrl+F 查找dialect
將我們需要的dialect.class的值復制粘貼到我們自己建的文件中 url,username,password 的值就用之前我們講過的即可;
配置文件中的 <property name="show_sql">true</property> 是為了在控制台顯示sql語句
這樣hibernate框架環境就搭建好了
第三步,建好hibernate框架之后 需要我們有對應的數據庫和實體類,所以我們要去創建數據庫表和相應的實體類
同時要創建一個對應類名的hbm.xml文件,可以去
在輸入框中輸入hbm.xml查詢,查看我們查到的文件,拖拽到Eclipse中打開,
這里的class是類名,name這里是Fruit的實體類地址 這里的地址可以在class的上級屬性package中設置,這里就只需要實體類名
這里的id是主鍵 (建議屬性名和列名一致)
這里的property是非主鍵 (建議屬性名和列名一致)
第四步,創建好庫表和實體類之后我們新建一個mian來調用框架實現增刪改查功能

紅字1是讀取hibernate.cfg.xml的配置,並加載hibernate的數據庫和實體類,這里就必須要在hibernate.cfg.xml中加入
<mapping resource="com/itnba/maya/bean/Fruit.hbm.xml" /> 不然就找不到對應的hbm.xml文件,實現不了功能
紅字2是根據配置生成session工廠
紅字3是用工廠生成session
紅字4 關閉session會話
第五步,實現功能
1.增
Fruit data = new Fruit(); //new一個對象 這里是瞬時狀態
data.setIds("i001");
data.setName("二萌");
data.setPrice(1.0);
data.setSource("山東"); //給對象賦值
data.setNumbers(1);
data.setImage("無");
try{
session.beginTransaction(); //開始事務 (不用事務會報錯)
session.save(data); //session.sava()方法保存 瞬時狀態改變成持久化狀態
session.getTransaction().commit(); //事務提交
}
catch(Exception es){
session.getTransaction().rollback(); //出錯時事務回滾
}
session.close();
運行程序,在控制台顯示sql語句

查看數據庫結果:
可以看到數據庫增加了一個 i001的數據
2.查
分為查看單個和查看所有
查看單個
try{
session.beginTransaction();
Fruit fruit = session.get(Fruit.class, "i001"); //也可以用session.load(Fruit.class,"i001") 查詢單個
System.out.println(fruit.getName()+fruit.getSource()+fruit.getNumbers()); 在控制台顯示名稱產地和庫存
session.getTransaction().commit();
}
catch(Exception es){
session.getTransaction().rollback();
}
結果如下
查所有
try{
session.beginTransaction();
List<Fruit> list = session.createQuery("from Fruit").getResultList(); //查詢出來的是一個集合
for(Fruit data : list){
System.out.println(data.getName()+data.getSource()+data.getNumbers());
}
session.getTransaction().commit();
}
catch(Exception es){
session.getTransaction().rollback();
}
結果如下
3.刪
刪和改 都需要我們先查出來然后再進行操作
try{
session.beginTransaction();
Fruit data = session.get(Fruit.class, "i001"); //先查出來
if(data != null){
session.delete(data); //在進行刪除操作
session.getTransaction().commit();
}
}
catch(Exception es){
session.getTransaction().rollback();
}
運行之后我們到數據庫看下結果
可以看到i001的數據已刪除
4.改
try{
session.beginTransaction();
Fruit data = session.get(Fruit.class, "k001"); //先查詢
if(data != null){
data.setName("蘋果"); //修改我們要改的屬性
session.update(data); //再進行修改操作
session.getTransaction().commit();
}
}
catch(Exception es){
session.getTransaction().rollback();
}
運行結果看下數據庫:
可以看到k001原來的name為二萌 現已改成蘋果
這樣就簡單利用hibernate 框架實現增刪改查功能。
