好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > hibernate中的增刪改查實現代碼

hibernate中的增刪改查實現代碼

熱門標簽:漯河辦理400電話 黃石智能營銷電銷機器人效果 電話機器人的特色和創新 怎樣把地圖標注出來 地圖標注人員兼職 淮南騰訊地圖標注 騰訊地圖標注商戶改名注冊入駐 商丘百應電話機器人有沒有效果 開封便宜外呼系統報價
第一個我們首先看看增,增在SQL里面就是insert,也就是插入,在hibernate中,我們只需要,操縱一個對象進行sava,然后再commit事務,就能實現插入功能,下面給大家具體看看代碼,持久類我就不再寫了,里面也就是與數據庫中的字段要一一對應的東西,要有set,get方法,我直接就寫的怎么調用save方法。
//導入所需的包
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(); //根據config建立sessionFactory
Session ses = sf.openSession(); //factory用于建立session,開啟Session,相當于開啟JDBC的Connection
Transaction ts = ses.beginTransaction(); //創建事務的對象ts
User user = new User(); //持久化對象
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("插入成功");
}
}
}
第二個我們看看刪,刪在SQL里面是delete,也就是刪除,同樣在hibernate中,我們也是只需要調用一個對象,調用delete方法,就能進行刪除。
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方法,這里我們要注意一點,我們調用刪除的時候,他刪除的條件,也就是where后面的條件一定是我們xml中配置id,通過這個來進行查找刪除,這里尤其值得注意,也就是,我這里調用的user.setId(" ");這句話,他是通過""中的內容進行刪除的。
第三個我們看看改,改在SQL中update,在hibernate中,我們同樣只需要操作一個對象進行更改信息。
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("更改成功");
}
}
}
但是這里我們有需要注意的地方了,如果有的朋友用過這個update就會發現,調用這個方法的時候他更新的不只是你想更新的數據,你不想更新的數據,他也會隨著改變,如果你沒有給他set值,他就會出現null,或者表格中什么都沒有,這里我們就需要用另一種方法了,去更新你想更新的數據,而你不想改變的數據還會保持原來的狀態,這里我們就需要調用一個方法。
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();
這樣我們就會發現,我們只更新了我們想要更新的數據。ses不光光有這一個get方法,相同功能他還有一個load方法,兩個方法功能是相同的但是有什么區別呢,區別就是用load方法時候他是從緩存中查找,而我們調用get方法的時候是從數據庫中查找,不過get方法他也是先從緩存中查找,如果沒有在去數據庫中查找。
第三個我們看看查,查在SQL中是select,在hibernate中我們查詢的時候有多種方法,這里我就寫一種hibernate比較提倡的方法,就是HQL。用這個方法時候我們尤其需要注意的是他其中的from跟的不是表名,而是類名。
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中實現增刪改查的步驟詳解
  • hibernate增刪改查操作代碼

標簽:馬鞍山 亳州 武威 岳陽 紅河 拉薩 鄭州 大興安嶺

巨人網絡通訊聲明:本文標題《hibernate中的增刪改查實現代碼》,本文關鍵詞  hibernate,中的,增,刪改,查,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《hibernate中的增刪改查實現代碼》相關的同類信息!
  • 本頁收集關于hibernate中的增刪改查實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 91香蕉国产在线观看人员| 538精品视频一区二区三区| 国產黃色亂伦一級A片18禁苹果| 2021年理论片在线观看理论片| 跟牡丹直播一样免费看直播| 欧美无人区码AAAAA| h日本动漫无删减在线观看免| 一级片手机在线| 婬乱妓院NP嗯啊粗大H漫画| 操美女阴道| 乱人伦一区二区三区| 国精产品一二三三区入口| 年龄很小下面粉嫩粉嫩的| 一级做人免费观看c欧美网站| 欧美另类杂交a| 久久久久久精品国产| 大炕上的肉伦第二部| 一本色道AV久久综合无码| 扒男人?狂揉?难受亲嘴| 久久久久久精品国产白浆天美传媒 | 久爱精品亚洲电影午夜| 搡女人免费免费视频观看| chinesegay精牛videos| 欧美办公室丝袜系列都有哪些| 777成了人乱视频| 国产一级毛片a午夜一级毛片| japanese粉嫩模asspics| 美女主播啪啪| 美女黄色网| 男女动态视频在线观看| 上流社会韩剧免费观看完整版| 24小时看b站视频| 96日本xxxxxxxxx18| 老外毛片| 人人干人人做| 五月天激情丁香| 国产vr一区二区完整版| 可以看美女隐私的直播软件| 国产精品白嫩在线观看| 久久无码亚洲成a人片| 亚洲香蕉久久一区二区三区四区|