欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于hibernate框架在eclipse下的配置方法(必看篇)

 更新時間:2017年09月25日 08:55:34   作者:匠心i  
下面小編就為大家?guī)硪黄趆ibernate框架在eclipse下的配置方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、ORM

O:object 對象

R:Realtion 關(guān)系(關(guān)系型數(shù)據(jù)庫)

M:Mapping 映射

ORM:對象關(guān)系型映射

目前流行的編程語言,如Java、C# ,它們都是面向?qū)ο蟮木幊陶Z言,而目前主流的數(shù)據(jù)庫產(chǎn)品例如Oracle、DB2等,依然是關(guān)系型數(shù)據(jù)庫。編程語言和底層數(shù)據(jù)庫發(fā)展的不協(xié)調(diào)(阻抗不匹配,例如數(shù)據(jù)庫中無法直接實現(xiàn)存儲繼承、多態(tài)、封裝等特征和行為),催生出了ORM框架。ORM框架可以作為面向?qū)ο笳Z言和關(guān)系型數(shù)據(jù)庫之間的橋梁。

二、Hibernate

Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。

三、hibernate框架在eclipse下的配置方法,這里我們以hibernate3.2為例,介紹一下hibernate3.2在eclipse里的配置方法:

(1)打開eclipse,設(shè)置其工作空間,點擊OK,進入eclipse主界面。

(2)首先我們創(chuàng)建一個java項目,F(xiàn)ile->new->java Project->創(chuàng)建項目名稱,這里我們以ones為例。

(3)導(dǎo)入我們所需要的JAR包,這里我們需要導(dǎo)入3類jar包,首先是hibernate3.jar,是使用hibernate時必備的庫。lib文件中的所有文件。數(shù)據(jù)庫連接jar包,這里以mysql數(shù)據(jù)庫文件,我們需要導(dǎo)入的jar包是mysql.jar。這里我們創(chuàng)建一個用戶自己的類庫,可以將我們的jar包直接導(dǎo)入user library中,當(dāng)我們再建立其他的項目時,就避免了再重新一個一個的引入jar包。

創(chuàng)建步驟如圖所示:

(4)點擊Add External JARs... 以此導(dǎo)入上述jar包,點擊OK,finish完成操作。此時,項目名下可看到名為first的用戶自定義類庫。

(5)我們在src文件目錄下導(dǎo)入hibernate.cfg.xml文件。這里我們所需要更改的內(nèi)容為第7行,localhost/ones(ones更改為自己的數(shù)據(jù)庫名)

第9行為mysql用戶名,第10行為mysql數(shù)據(jù)庫的密碼。第14行代碼刪掉。

<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
 <session-factory>
  <property name="hibernate.connection.url">jdbc:mysql://localhost/ones</property>
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password">88888888</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="hibernate.show_sql">true</property>
  
  <mapping resource="com/bjsxt/hibernate/User.hbm.xml"/>
 </session-factory>
</hibernate-configuration>

(6)在src下建立用戶類以及映射文件。Src右鍵->New->Class->選擇類名,這里我們創(chuàng)建名為User的類。

(7)編寫用戶類代碼(這里eclipse支持批量自動寫入set/get方法)點擊Source->Generate Ftters and Setters 選擇全部,導(dǎo)入。User類已經(jīng)編寫完成,接下來我們編寫映射文件。

package ones;

public class User {
 private String id;
 private String name;
 private String password;
 public String getId() {
  return id;
 }
 public void setId(String id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }

}

(8)選擇User.hbm.xml文件,拷入Src文件夾下的包中,文件位置在hiberate\rg\org\hiberate\auction中,這里我們所要修改的代碼是第6行,org.hibernate.auction改為自己項目的包名。第八行代碼,可以只保留<Class name="User">,其余部分可以刪掉。第九行代碼刪掉。將第12行的native刪掉,native是配置整形數(shù)據(jù)的,我們之前設(shè)置的id為字符型,所以這里我們改為uuid,15行至50行,刪掉。在<class>中編寫屬性,屬性值等于User.java中定義的屬性(不包括id)。

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping 
 package="org.hibernate.auction">

 <class name="User" table="AuctionUser" lazy="true">
  <comment>Users may bid for or sell auction items.</comment>
  
  <id name="id">
   <generator class="native"/>
  </id>
  
  <natural-id mutable="true">
   <property name="userName"
     length="10"/>
  </natural-id>
  
  <property name="password" 
    not-null="true"
    length="15"
    column="`password`"/>
  
  <property name="email"/>
  
  <component name="name">
   <property name="firstName"
     length="50"
     not-null="true"/>
   <property name="initial" 
     column="`initial`"/>
   <property name="lastName"
     length="50"
     not-null="true"/>
  </component>
  
  <bag name="bids"
    inverse="true" 
    cascade="save-update,lock">
   <key column="bidder"/>
   <one-to-many class="Bid"/>
  </bag>
  
  <bag name="auctions"
    inverse="true" 
    cascade="save-update,lock">
   <key column="seller"/>
   <one-to-many class="AuctionItem"/>
  </bag>
  
 </class>
 
</hibernate-mapping>

(9)編寫后的User.hbm.xml文件如圖所示:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping 
 package="ones">

 <class name="User" >
  
  
  <id name="id">
   <generator class="uuid"/>
  </id>
  
  
  <property name="name"></property>
  <property name="password"></property>
 </class>
 
</hibernate-mapping>

(10)編寫導(dǎo)入類,建立名為ExportDB的類,直接產(chǎn)生它的主方法

package ones;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;



public class ExportDB {

 public static void main(String[] args) {
  //讀取文件的配置
  Configuration cfg = new Configuration().configure();
  SchemaExport export = new SchemaExport(cfg);
  export.create(ture, ture);
 }

}

(11)修改hibernate.cfg.xml中的第14行代碼,將路徑改為ones(包名)/User.hbm.xml

(12)在mysql數(shù)據(jù)庫 中建立測試表,運行eclipse中的ExportDB文件,右鍵->Run As->java Application

以上這篇基于hibernate框架在eclipse下的配置方法(必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springCloud集成nacos啟動時報錯原因排查

    springCloud集成nacos啟動時報錯原因排查

    這篇文章主要介紹了springCloud集成nacos啟動時報錯原因排查,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 關(guān)于@Autowired的使用及注意事項

    關(guān)于@Autowired的使用及注意事項

    這篇文章主要介紹了關(guān)于@Autowired的使用及注意事項,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot去除內(nèi)嵌tomcat的實現(xiàn)

    SpringBoot去除內(nèi)嵌tomcat的實現(xiàn)

    這篇文章主要介紹了SpringBoot去除內(nèi)嵌tomcat的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • springboot 多模塊將dao(mybatis)項目拆分出去

    springboot 多模塊將dao(mybatis)項目拆分出去

    這篇文章主要介紹了springboot 多模塊將dao(mybatis)項目拆分出去,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 2022最新Java泛型詳解(360度無死角介紹)

    2022最新Java泛型詳解(360度無死角介紹)

    Java泛型(generics)是JDK5中引入的一個新特性,泛型提供了 編譯時類型安全監(jiān)測機制,該機制允許我們在編譯時檢測到非法的類型數(shù)據(jù)結(jié)構(gòu),這篇文章主要介紹了java泛型的基本概念及使用詳解,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • java讀取文件顯示進度條的實現(xiàn)方法

    java讀取文件顯示進度條的實現(xiàn)方法

    當(dāng)讀取一個大文件時,一時半會兒無法看到讀取結(jié)果,就需要顯示一個進度條,是程序員明白已經(jīng)讀了多少文件,可以估算讀取還需要多少時間,下面的代碼可以實現(xiàn)這個功能
    2014-01-01
  • 詳解AOP與Filter攔截請求打印日志實用例子

    詳解AOP與Filter攔截請求打印日志實用例子

    這篇文章主要介紹了詳解AOP與Filter攔截請求打印日志實用例子,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Java Web導(dǎo)出等比例圖片到Excel的實現(xiàn)過程

    Java Web導(dǎo)出等比例圖片到Excel的實現(xiàn)過程

    我們使用Java導(dǎo)出圖片到Excel,打開成功導(dǎo)出的Excel一看,商品對應(yīng)的圖片都很規(guī)矩的按照我的設(shè)置鋪滿了整個單元格,但是,商品圖片卻都變形了,這樣肯定是不行的,于是第一反應(yīng)就是將圖片等比例導(dǎo)出,所以本文本給大家介紹了如何使用Java Web導(dǎo)出等比例圖片到Excel
    2023-11-11
  • Java超詳細(xì)分析@Autowired原理

    Java超詳細(xì)分析@Autowired原理

    @Autowired注解可以用在類屬性,構(gòu)造函數(shù),setter方法和函數(shù)參數(shù)上,該注解可以準(zhǔn)確地控制bean在何處如何自動裝配的過程。在默認(rèn)情況下,該注解是類型驅(qū)動的注入
    2022-06-06
  • Java字符串拼接的優(yōu)雅方式實例詳解

    Java字符串拼接的優(yōu)雅方式實例詳解

    字符串拼接一般使用“+”,但是“+”不能滿足大批量數(shù)據(jù)的處理,下面這篇文章主要給大家介紹了關(guān)于Java字符串拼接的幾種優(yōu)雅方式,需要的朋友可以參考下
    2021-07-07

最新評論