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

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

hibernate環(huán)境搭建測試的示例分析

這篇文章主要介紹了hibernate環(huán)境搭建測試的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)專注于方山網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供方山營銷型網(wǎng)站建設,方山網(wǎng)站制作、方山網(wǎng)頁設計、方山網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務,打造方山網(wǎng)絡公司原創(chuàng)品牌,更為您提供方山網(wǎng)站排名全網(wǎng)營銷落地服務。

真正要掌握,還得需要自己動手,才能豐衣足食。

  1. 所需jar包

    jar包版本不同,找的地址也不同。這里用到的是 hibernate-release-5.2.10 版本的jar包

    hibernate環(huán)境搭建測試的示例分析

除了這些jar包,還需要數(shù)據(jù)庫驅動jar,根據(jù)自己用的數(shù)據(jù)庫自定,這里用到的是oracle

2.jar包導入好,看看配置,在配置之前,看下實體和表結構。

實體 Users

package com.hib.entity;

public class Users {
	private Integer id;
	private String name;
	private String pass;
	private String address;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public Users(Integer id, String name, String pass, String address) {
		super();
		this.id = id;
		this.name = name;
		this.pass = pass;
		this.address = address;
	}
	public Users() {
		super();
	}
	@Override
	public String toString() {
		return "Users [id=" + id + ", name=" + name + ", pass=" + pass + ", address=" + address + "]";
	}
	
}

表結構

hibernate環(huán)境搭建測試的示例分析

在src下 hibernate.cfg.xml配置,如果不知道里面的配置怎么寫。可以通過在下載的jar包中搜索hibernate.cfg.xml,里面有配置信息。

hibernate.cfg.xml 配置如下




    
        oracle.jdbc.OracleDriver
        ssh
        ssh
        jdbc:oracle:thin:@127.0.0.1:1521:xe
        
        
        org.hibernate.dialect.Oracle10gDialect
        
        true
        
        true
        
        
        
    

3. User.hbm.xml配置




	
	
	
		
			
			
		

		
		
		
		
	

4.測試數(shù)據(jù)連接是否配置成功

package com.hib.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import com.hib.entity.Users;

public class TestConn {
	
	// 獲取session
	public static Session getSession(){
		// 加載配置
		Configuration cfg = new Configuration().configure();
		// 獲取sessionFactory
		SessionFactory factory = cfg.buildSessionFactory();
		// 獲取session
		Session session = factory.openSession();
		return session;
	}
	
	// 查詢
	@Test
	public void query(){
		Session session = getSession();
		// 查詢
		Users users = session.get(Users.class, 1);
		System.out.println(users);
		//關閉資源
		session.close();
	}
	// 在進行增刪改時 ,好控制事務    ---- 插入
	@Test
	public void insert(){
		Session session = getSession();
		// 開啟事務
		Transaction tx = session.beginTransaction();
		Users users = new Users(null, "xyz", "xyz", "china");
		// 插入
		session.save(users);
		// 事務提交
		tx.commit();
		// 事務回滾
		//tx.rollback();
		session.close();
	}
	// 更新數(shù)據(jù)前   需要先查詢出修改的數(shù)據(jù)
	@Test
	public void update(){
		Session session = getSession();
		Transaction tx = session.beginTransaction();
		Users users = session.get(Users.class, 1);
		users.setAddress("鄭州");
		users.setName("小李飛刀");
		session.update(users);
		tx.commit();
		session.close();
	}
	// 刪除  需要先出現(xiàn)出刪除的數(shù)據(jù)
	@Test
	public void delete(){
		Session session = getSession();
		Transaction tx = session.beginTransaction();
		Users users = session.get(Users.class, 1);
		session.delete(users);
		tx.commit();
		session.close();
	}
	
}

這里講解下關于hibernate中主鍵的生成策略

  1. increment 一般用于測試,多并發(fā)環(huán)境中存在主鍵取值沖突,這里文章包括下面寫的都是用的

  這個,方便測試。實際項目中,沒有人會用到。

2. sequence  oralcle數(shù)據(jù)庫專用

在oracle數(shù)據(jù)庫中創(chuàng)建序列 : create sequence st_id start with 7 increment by 1;

 意思是:創(chuàng)建序列名為 st_id 從7開始,每次增加1

 hibernate中默認值是 hibernate_sequence

    

st_id

3. identity :適用于MySQL sqlserver 相當于2

    

    

4. uuid 生成32位長度全球唯一的字符串,適用于分布式系統(tǒng)中

5. foreign : 專用于1:1 共享主鍵的從表方 

6. assigned: 手動指定ID,一般不用

這里值得一提:在使用sequence時,配置文件中寫

 

   這里 name為 sequence_name,但我當時配置時候寫的是sequence,出了錯。搜了好久,也沒有發(fā)現(xiàn)錯誤,并且別人寫的也是sequence。這里我也沒有去看其他版本,這里我使用是5.2版,可能是版本之間的問題。希望注意下。如果你不知道配置是sequence 還是sequence_name,可以搜當前版本的文件 sequence,會有一些文件和文件夾,找里面的配置,看里面寫的是什么。

   sqs_id

 

感謝你能夠認真閱讀完這篇文章,希望小編分享的“hibernate環(huán)境搭建測試的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!


網(wǎng)站題目:hibernate環(huán)境搭建測試的示例分析
網(wǎng)站地址:http://weahome.cn/article/ihdeic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部