婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > hibernate中的增刪改查實(shí)現(xiàn)代碼

hibernate中的增刪改查實(shí)現(xiàn)代碼

熱門(mén)標(biāo)簽:漯河辦理400電話(huà) 黃石智能營(yíng)銷(xiāo)電銷(xiāo)機(jī)器人效果 電話(huà)機(jī)器人的特色和創(chuàng)新 怎樣把地圖標(biāo)注出來(lái) 地圖標(biāo)注人員兼職 淮南騰訊地圖標(biāo)注 騰訊地圖標(biāo)注商戶(hù)改名注冊(cè)入駐 商丘百應(yīng)電話(huà)機(jī)器人有沒(méi)有效果 開(kāi)封便宜外呼系統(tǒng)報(bào)價(jià)
第一個(gè)我們首先看看增,增在SQL里面就是insert,也就是插入,在hibernate中,我們只需要,操縱一個(gè)對(duì)象進(jìn)行sava,然后再commit事務(wù),就能實(shí)現(xiàn)插入功能,下面給大家具體看看代碼,持久類(lèi)我就不再寫(xiě)了,里面也就是與數(shù)據(jù)庫(kù)中的字段要一一對(duì)應(yīng)的東西,要有set,get方法,我直接就寫(xiě)的怎么調(diào)用save方法。
//導(dǎo)入所需的包
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class UserTest {
public static void main(String args[]){
Configuration cfg = new Configuration().configure(); //獲取hibernate的配置信息
SessionFactory sf = cfg.buildSessionFactory(); //根據(jù)config建立sessionFactory
Session ses = sf.openSession(); //factory用于建立session,開(kāi)啟Session,相當(dāng)于開(kāi)啟JDBC的Connection
Transaction ts = ses.beginTransaction(); //創(chuàng)建事務(wù)的對(duì)象ts
User user = new User(); //持久化對(duì)象
user.setName("kobe");
user.setTel("111111111");
try {
ses.save(user);
ts.commit();
}catch (HibernateException he){
he.printStackTrace();
ts.rollback();
}finally{
ses.close();
sf.close();
System.out.println("插入成功");
}
}
}
第二個(gè)我們看看刪,刪在SQL里面是delete,也就是刪除,同樣在hibernate中,我們也是只需要調(diào)用一個(gè)對(duì)象,調(diào)用delete方法,就能進(jìn)行刪除。
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class DeleteTest {
public static void main(String args[]){
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session ses = sf.openSession();
Transaction ts = ses.beginTransaction();
User user = new User();
user.setId("8a8308891e9c3ef3011e9c3ef4aa0001");
try {
ses.delete(user);
ts.commit();
}catch (HibernateException he){
he.printStackTrace();
ts.rollback();
}finally{
ses.close();
sf.close();
System.out.println("刪除成功");
}
}
}
具體中間的含義參照sava方法,這里我們要注意一點(diǎn),我們調(diào)用刪除的時(shí)候,他刪除的條件,也就是where后面的條件一定是我們xml中配置id,通過(guò)這個(gè)來(lái)進(jìn)行查找刪除,這里尤其值得注意,也就是,我這里調(diào)用的user.setId(" ");這句話(huà),他是通過(guò)""中的內(nèi)容進(jìn)行刪除的。
第三個(gè)我們看看改,改在SQL中update,在hibernate中,我們同樣只需要操作一個(gè)對(duì)象進(jìn)行更改信息。
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class UpdateTest {
public static void main(String args[]){
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session ses = sf.openSession();
Transaction ts = ses.beginTransaction();
User user = new User();
user.setId("8a8308891e9c3ef3011e9c3ef4aa0001");
user.setName("kobe24");
try {
ses.update(user);
ts.commit();
}catch (HibernateException he){
he.printStackTrace();
ts.rollback();
}finally{
ses.close();
sf.close();
System.out.println("更改成功");
}
}
}
但是這里我們有需要注意的地方了,如果有的朋友用過(guò)這個(gè)update就會(huì)發(fā)現(xiàn),調(diào)用這個(gè)方法的時(shí)候他更新的不只是你想更新的數(shù)據(jù),你不想更新的數(shù)據(jù),他也會(huì)隨著改變,如果你沒(méi)有給他set值,他就會(huì)出現(xiàn)null,或者表格中什么都沒(méi)有,這里我們就需要用另一種方法了,去更新你想更新的數(shù)據(jù),而你不想改變的數(shù)據(jù)還會(huì)保持原來(lái)的狀態(tài),這里我們就需要調(diào)用一個(gè)方法。
Session ses = sf.openSession();
Transaction ts = ses.beginTransaction();
User user = (User)ses.get(User.class,"8a8308891e9c3ef3011e9c3ef4aa0001");
user.setName("kobe24");
try {
ses.update(user);
ts.commit();
這樣我們就會(huì)發(fā)現(xiàn),我們只更新了我們想要更新的數(shù)據(jù)。ses不光光有這一個(gè)get方法,相同功能他還有一個(gè)load方法,兩個(gè)方法功能是相同的但是有什么區(qū)別呢,區(qū)別就是用load方法時(shí)候他是從緩存中查找,而我們調(diào)用get方法的時(shí)候是從數(shù)據(jù)庫(kù)中查找,不過(guò)get方法他也是先從緩存中查找,如果沒(méi)有在去數(shù)據(jù)庫(kù)中查找。
第三個(gè)我們看看查,查在SQL中是select,在hibernate中我們查詢(xún)的時(shí)候有多種方法,這里我就寫(xiě)一種hibernate比較提倡的方法,就是HQL。用這個(gè)方法時(shí)候我們尤其需要注意的是他其中的from跟的不是表名,而是類(lèi)名。
package hibernate;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class SeleteTest {
public static void main(String args[]){
Configuration cfg=new Configuration().configure();
SessionFactory sf=cfg.buildSessionFactory();
Session ses=sf.openSession();
Transaction tx=ses.beginTransaction();
User user = new User();
Query query = ses.createQuery("from User");
List users = query.list(); //序列化
Iterator it = users.iterator(); //迭代
while (it.hasNext()){
user = (User) it.next();
System.out.println(user.getName()+" "+user.getTel()+" ");
}
ses.close();
sf.close();
}
}
您可能感興趣的文章:
  • Hibernate中實(shí)現(xiàn)增刪改查的步驟詳解
  • hibernate增刪改查操作代碼

標(biāo)簽:馬鞍山 亳州 武威 岳陽(yáng) 紅河 拉薩 鄭州 大興安嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《hibernate中的增刪改查實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  hibernate,中的,增,刪改,查,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《hibernate中的增刪改查實(shí)現(xiàn)代碼》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于hibernate中的增刪改查實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 福泉市| 历史| 读书| 博客| 龙里县| 黄陵县| 洪洞县| 淮阳县| 鹿邑县| 建始县| 昭平县| 高唐县| 湖州市| 天气| 旅游| 昌邑市| 子长县| 永修县| 丁青县| 蒙阴县| 梧州市| 曲麻莱县| 包头市| 长葛市| 呼伦贝尔市| 肇东市| 威信县| 思南县| 平果县| 兴和县| 沙田区| 金平| 颍上县| 浦东新区| 安徽省| 寿阳县| 汤阴县| 思茅市| 米易县| 哈巴河县| 龙泉市|