免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

hibernate環(huán)境搭建測(cè)試的示例分析-創(chuàng)新互聯(lián)

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

創(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)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

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

  1. 所需jar包

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

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

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

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

2.jar包導(dǎo)入好,看看配置,在配置之前,看下實(shí)體和表結(jié)構(gòu)。

實(shí)體 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 + "]"; } }

表結(jié)構(gòu)

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

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

hibernate.cfg.xml 配置如下

<!DOCTYPE hibernate-configuration PUBLIC         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>     <session-factory>         <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>         <property name="hibernate.connection.username">ssh</property>         <property name="hibernate.connection.password">ssh</property>         <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:xe</property>                  <!-- 方言 -->         <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>         <!-- 可視化sql -->         <property name="hibernate.show_sql">true</property>         <!-- 格式化sql,自動(dòng)對(duì)可視化sql換行,對(duì)齊 -->         <property name="hibernate.format_sql">true</property>                  <!-- 映射文件配置 -->         <mapping resource="User.hbm.xml"/>     </session-factory> </hibernate-configuration>

3. User.hbm.xml配置

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping> <!-- name:是實(shí)體   table是表名稱 --> <class name="com.hib.entity.Users" table="TEST_USER"> <id name="id"> <!-- 主鍵自增策略,在下面會(huì)專門提到 --> <generator class="increment"></generator> </id> <!-- name:是實(shí)體中屬性的名稱,column:是表中字段的名稱,type是數(shù)據(jù)類型  在這里發(fā)現(xiàn)后面的 pass和 address 沒(méi)有寫column和type 如果表字段和實(shí)體屬性名稱一致,可以省略不寫 --> <property name="name" column="name" type="java.lang.String"/> <property name="pass"/> <property name="address"/> </class> </hibernate-mapping>

4.測(cè)試數(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); //關(guān)閉資源 session.close(); } // 在進(jìn)行增刪改時(shí) ,好控制事務(wù)    ---- 插入 @Test public void insert(){ Session session = getSession(); // 開(kāi)啟事務(wù) Transaction tx = session.beginTransaction(); Users users = new Users(null, "xyz", "xyz", "china"); // 插入 session.save(users); // 事務(wù)提交 tx.commit(); // 事務(wù)回滾 //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(); } }

這里講解下關(guān)于hibernate中主鍵的生成策略

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

 這個(gè),方便測(cè)試。實(shí)際項(xiàng)目中,沒(méi)有人會(huì)用到。

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

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

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

 hibernate中默認(rèn)值是 hibernate_sequence

    <id name="id">

<generator class="sequence">

<param name="sequence_name">st_id</param>

</generator>

</id>

3. identity :適用于mysql sqlserver 相當(dāng)于2

    <id name="id">

    <generator class="identity"></generator>

</id>

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

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

6. assigned: 手動(dòng)指定ID,一般不用

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

<id name="id" column="id">

 <generator class="sequence">

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

  <param name="sequence_name">sqs_id</param>

 </generator>

</id>

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:hibernate環(huán)境搭建測(cè)試的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://m.newbst.com/article36/cejjsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站網(wǎng)站收錄ChatGPT網(wǎng)頁(yè)設(shè)計(jì)公司搜索引擎優(yōu)化App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)