jsp Hibernate入門(mén)教程第2/3頁(yè)
更新時(shí)間:2008年11月14日 23:08:55 作者:
如果您是在同一個(gè)Session中取出數(shù)據(jù)并想要馬上進(jìn)行更新,則只要先查詢(xún)并取出對(duì)象,透過(guò)setXXX()方法設(shè)定好新的值,然后呼叫session.flush()即可在同一個(gè)Session中更新指定的數(shù)據(jù)
如果您開(kāi)啟了一個(gè)Session,從數(shù)據(jù)表中取出數(shù)據(jù)顯示到使用者接口上,之后關(guān)閉Session,當(dāng)使用者在接口上操作完畢并按下儲(chǔ)存時(shí),這時(shí)您要重新開(kāi)啟一個(gè)Session,使用update()方法將對(duì)象中的數(shù)據(jù)更新至對(duì)應(yīng)的數(shù)據(jù)表中,一個(gè)例子如下:
復(fù)制代碼 代碼如下:
HibernateTest.java
import onlyfun.caterpillar.*;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.util.*;
public class HibernateTest {
public static void main(String[] args) throws HibernateException {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
List users = session.find("from User");
// 關(guān)閉這個(gè)Session
session.close();
User updated = null;
for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {
User user = (User) iterator.next();
if(updated == null)
updated = user;
System.out.println(user.getName() +
"\n\tAge: " + user.getAge() +
"\n\tSex: " + user.getSex());
}
// 使用者作一些操作,之后儲(chǔ)存
updated.setName("caterpillar");
// 開(kāi)啟一個(gè)新的Session
session = sessionFactory.openSession();
// 更新數(shù)據(jù)
session.update(updated);
users = session.find("from User");
session.close();
sessionFactory.close();
for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {
User user = (User) iterator.next();
System.out.println(user.getName() +
"\n\tAge: " + user.getAge() +
"\n\tSex: " + user.getSex());
}
}
}
這個(gè)程序執(zhí)行的結(jié)果范例如下,您可以看看實(shí)際上執(zhí)行了哪些SQL:
log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_
justin
Age: 28
Sex: M
momor
Age: 25
Sex: F
Bush
Age: 25
Sex: M
Becky
Age: 35
Sex: F
Hibernate: update USER set name=?, sex=?, age=? where user_id=?
Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_
caterpillar
Age: 28
Sex: M
momor
Age: 25
Sex: F
Bush
Age: 25
Sex: M
Becky
Age: 35
Sex: F
您可能感興趣的文章:
- JSP 開(kāi)發(fā)之hibernate的hql查詢(xún)多對(duì)多查詢(xún)
- JSP 開(kāi)發(fā)之hibernate配置二級(jí)緩存的方法
- JSP開(kāi)發(fā)中hibernate框架的常用檢索方式總結(jié)
- JSP 中Hibernate實(shí)現(xiàn)映射枚舉類(lèi)型
- jsp Hibernate批量更新和批量刪除處理代碼
- jsp Hibernate 函數(shù)簡(jiǎn)介
- jsp hibernate 數(shù)據(jù)保存操作的原理
- jsp hibernate的分頁(yè)代碼
- JSP開(kāi)發(fā)之hibernate之單向多對(duì)一關(guān)聯(lián)的實(shí)例
相關(guān)文章
Spring AOP切面解決數(shù)據(jù)庫(kù)讀寫(xiě)分離實(shí)例詳解
這篇文章主要介紹了Spring AOP切面解決數(shù)據(jù)庫(kù)讀寫(xiě)分離實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
Spring 中 @Service 和 @Resource 注解的區(qū)別
這篇文章主要介紹了Spring @Service 和 @Resource 注解的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-03-03
動(dòng)態(tài)JSP頁(yè)生成靜態(tài)HTML的方法
這篇文章主要介紹了動(dòng)態(tài)JSP頁(yè)生成靜態(tài)HTML的方法,以實(shí)例形式較為詳細(xì)的分析了JSP生成靜態(tài)HTML頁(yè)面的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
jsp 獲取客戶(hù)端的瀏覽器和操作系統(tǒng)信息
j2ee 面試常遇見(jiàn)的問(wèn)題,收集了一下,可以參考2009-06-06
java struts常見(jiàn)錯(cuò)誤以及原因分析
對(duì)于 struts常見(jiàn)錯(cuò)誤的解決方法分析小結(jié),希望能快速的解決大家的問(wèn)題2008-12-12
jsp中使用frameset框架 邊框固定不讓更改邊框的大小
有時(shí)候可能要對(duì)自己布局好的頁(yè)面不讓用戶(hù)更改邊框的大小,這樣我們可以在frame里面添加noresize="noresize"屬性就可以實(shí)現(xiàn)其中的功能2014-07-07
servlet+jsp實(shí)現(xiàn)過(guò)濾器 防止用戶(hù)未登錄訪問(wèn)
這篇文章主要為大家詳細(xì)介紹了servlet+jsp實(shí)現(xiàn)過(guò)濾器,防止用戶(hù)未登錄訪問(wèn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Servlet與JSP使用簡(jiǎn)介及區(qū)別詳解
這篇文章主要為大家介紹了Servlet與JSP使用簡(jiǎn)介及區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

