真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何對(duì)Hibernate進(jìn)行增刪改查操作

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何對(duì)Hibernate進(jìn)行增刪改查操作,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),浦江企業(yè)網(wǎng)站建設(shè),浦江品牌網(wǎng)站建設(shè),網(wǎng)站定制,浦江網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,浦江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

1.首先我們要知道什么是Hibernate

Hibernate是一個(gè)輕量級(jí)的ORMapping對(duì)象。主要用來實(shí)現(xiàn)Java和數(shù)據(jù)庫(kù)表之間的映射,除此之外還提供數(shù)據(jù)查詢和數(shù)據(jù)獲取的方法,

可以大幅度減少開發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間,解放編程人員95%的任務(wù)。

2.什么是ORM  Object-Relational-Mapping對(duì)象關(guān)系映射

ORM:是通過java對(duì)象映射到數(shù)據(jù)庫(kù)表,通過操作Java對(duì)象可以完成對(duì)數(shù)據(jù)表的操作。(假如你用的是Dbutils那么還需要在Java類中寫sql語句,而orm就不用)

Hibernate是一個(gè)完全的ORM框架只需要對(duì)對(duì)象的操作即可生成底層的SQL。

接下來直接進(jìn)入主題:

先看看使用hibernate的基本流程!下面是簡(jiǎn)單的流程圖

 如何對(duì)Hibernate進(jìn)行增刪改查操作

1.創(chuàng)建項(xiàng)目:

用myeclipse創(chuàng)建一個(gè)web project

2.導(dǎo)入hibernate相關(guān)的架包到項(xiàng)目

 如何對(duì)Hibernate進(jìn)行增刪改查操作

第三步: 配置hibernate

在src目錄下新建一個(gè)xml文件,名稱為hibernate.cfg.xml(當(dāng)然,你也可以不叫這個(gè)名稱,不過在代碼中要作相應(yīng)的修改),拷貝如下內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
  
  
  root
  root
  jdbc:MySQL:///hibernateexec
  com.mysql.jdbc.Driver
  
  org.hibernate.dialect.MySQLDialect
  
  
  update
  
  true 
  
  true 
  
  true
  
  org.hibernate.connection.C3P0ConnectionProvider
  5
  50
  120
  3000  
  
   
  
 

這里提醒一點(diǎn):customer表你可以不用去手動(dòng)創(chuàng)建,但是數(shù)據(jù)庫(kù)hibernateexec是要你手動(dòng)創(chuàng)建的

第四步.創(chuàng)建實(shí)體和映射文件

public class Customer {
 private int id;
 private String name;
 private int age;
 private String city;
 private String addr;
}
/*
 * 提供set和get方法
 */
Customer 實(shí)體

映射文件和實(shí)體對(duì)象在同一個(gè)包下:

<?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
  
  
  
  
  
  
  
  
  
   
  
  
  
  
  
  
  
 
 

Customer.hbm.xml

第五步:創(chuàng)建SessionFactory對(duì)象

第六步:獲取Session對(duì)象進(jìn)行相關(guān)操作

第五步和第六步我和在一起,第六步我們發(fā)現(xiàn)不論增刪改查前面四步都是一樣的,我們其實(shí)可以提取到一個(gè)工具類,再來調(diào)用這樣加快效率。

import java.util.List;
 import org.hibernate.Query;
 import org.hibernate.SQLQuery;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.hibernate.Transaction;
 import org.hibernate.cfg.Configuration;
 import org.junit.Test;
 import com.study.model.Customer;
 public class HibernateTest { 
 /*
  * 保存數(shù)據(jù)
  */
  @Test
  public void testInsert() {
  // 實(shí)例化配置對(duì)象 加載映射文件 加載 hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  // 創(chuàng)建會(huì)話工廠
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  // 創(chuàng)建會(huì)話
  Session session = sessionFactory.openSession();
  // 開啟事務(wù)
  Transaction transaction = session.beginTransaction();
  // 編寫自己的邏輯代碼
  Customer customer = new Customer();
  customer.setName("小黃");
  customer.setAge(40);
  customer.setCity("北京");
  // 直接保存
  session.save(customer);
  // 提交事務(wù)
  transaction.commit();
  session.close();
  sessionFactory.close();
  } 
 //查詢所有的
 @Test
 public void testFindAllByHQL(){
  // 實(shí)例化配置對(duì)象 加載映射文件 加載 hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  // 創(chuàng)建會(huì)話工廠
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  // 創(chuàng)建會(huì)話
  Session session = sessionFactory.openSession();
  // 開啟事務(wù)
  Transaction transaction = session.beginTransaction();
  //編寫HQL語句(面向類和屬性的查詢 
  String hql =" from Customer";//這里是Customer不是表名 是類名 查詢Customer
  Query query =session.createQuery(hql);
  List customers=query.list();
  System.out.println(customers);
  // 提交事務(wù)
  transaction.commit();
 session.close();
  sessionFactory.close();
 }
 // 刪除
 @Test
 public void testDelete() {
  // 實(shí)例化配置對(duì)象 加載映射文件 加載 hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  // 創(chuàng)建會(huì)話工廠
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  // 創(chuàng)建會(huì)話
  Session session = sessionFactory.openSession();
  // 開啟事務(wù)
  Transaction transaction = session.beginTransaction();
 Customer customer =new Customer();
 customer.setId(2);
  session.delete(customer);
  // 提交事務(wù)
  transaction.commit();
  session.close();
  sessionFactory.close();
 }
 // 修改
 @Test
 public void testUpdate() {
  // 實(shí)例化配置對(duì)象 加載映射文件 加載 hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  // 創(chuàng)建會(huì)話工廠
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  // 創(chuàng)建會(huì)話
  Session session = sessionFactory.openSession();
  // 開啟事務(wù)
  Transaction transaction = session.beginTransaction();
  Customer customer = (Customer) session.get(Customer.class, 2);
  customer.setCity("杭州");
  session.update(customer);
  // 提交事務(wù)
  transaction.commit();
  session.close();
  sessionFactory.close();
 }
 // 查詢 根據(jù)id查詢
 @Test
 public void testFindById() {
  // 實(shí)例化配置對(duì)象 加載映射文件 加載 hibernate.cfg.xml
  Configuration configuration = new Configuration().configure();
  // 創(chuàng)建會(huì)話工廠
  SessionFactory sessionFactory = configuration.buildSessionFactory();
  // 創(chuàng)建會(huì)話
  Session session = sessionFactory.openSession();
  // 開啟事務(wù)
  Transaction transaction = session.beginTransaction();
  Customer customer = (Customer) session.get(Customer.class, 1);
  System.out.println(customer);
  // 提交事務(wù)
  transaction.commit();
  session.close();
  sessionFactory.close();
 }
 }

運(yùn)行效果:當(dāng)你運(yùn)行第一個(gè)增加用戶的時(shí)候,運(yùn)行結(jié)束數(shù)據(jù)庫(kù)會(huì)自動(dòng)創(chuàng)建customer表格,和往表格里添加數(shù)據(jù)。

如何對(duì)Hibernate進(jìn)行增刪改查操作

這樣就通過hibernate進(jìn)行基礎(chǔ)的增刪改查了。

上述就是小編為大家分享的如何對(duì)Hibernate進(jìn)行增刪改查操作了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享名稱:如何對(duì)Hibernate進(jìn)行增刪改查操作
網(wǎng)站路徑:http://weahome.cn/article/jegodd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部