Hibernate的基礎(chǔ)配置
	
		
		系統(tǒng)
		
		1954 0
	
	  
  
    
      1)
    
    
      MySQL
      
        客戶(hù)端的工具使用
      
    
    
    
  
  
    
    
  
  
    
      ?
    
    
      
        
          SQLyog?Ultimate?9.3.3?
          
            簡(jiǎn)體中文正式版
          
        
      
    
    
    
  
  
    
      圖形界面:
    
    
    
  
  
    
    
    
  
  
    
      
        | 
           
            
              <!--?
            
            
            
           
          
            
              ????
            
            
              寫(xiě)update只是更新操作,也可以寫(xiě)create,?這樣寫(xiě)create的話(huà)程序運(yùn)行的時(shí)候就會(huì)把數(shù)據(jù)庫(kù)里的內(nèi)容全部刪除并且重新創(chuàng)建
            
            
              ,
            
            
              當(dāng)然,前提是數(shù)據(jù)庫(kù)必須存在,因?yàn)?
            
            
              hibernate
            
            
              只會(huì)創(chuàng)建表結(jié)構(gòu),?不會(huì)創(chuàng)建數(shù)據(jù)庫(kù),如果指定的數(shù)據(jù)庫(kù)不存在,
            
            
              hibernate
            
            
              則會(huì)拋出異常?-->
            
            
              ?
            
            
            
           
          
            
              <
            
            
              property
            
            
              ?
            
            
              name
            
            
              =
            
            
              "hbm2ddl.auto"
            
            
              >
            
            
              update
            
            
              </
            
            
              property
            
            
              >
            
            
              ??
            
            
            
           
         | 
      
    
  
  
    
      在做分析和設(shè)計(jì)的時(shí)候:先建立表結(jié)構(gòu),在建立類(lèi),類(lèi)和類(lèi)之間是有關(guān)系的,關(guān)系體現(xiàn)在方法上面。
    
    
    
  
  
    
      2)
    
    
    
    
      搭建日志環(huán)境顯示
      
        DDL
      
      
        語(yǔ)句
      
    
    
    
  
  
    
      日志大搭建在上文已經(jīng)有解決方案了。
    
    
    
  
  
    
    
  
  
    
      
        | 
           
            
              <
            
            
              property
            
            
              ?
            
            
              name
            
            
              =
            
            
              "show_sql"
            
            
              >
            
            
              true
            
            
              </
            
            
              property
            
            
              >
            
            
            
           
          
            
              顯示輸出
              
                SQL
              
              
                語(yǔ)句
              
            
            
            
           
          
            
              <
            
            
              property
            
            
              ?
            
            
              name
            
            
              =
            
            
              "format_sql"
            
            
              >
            
            
              true
            
            
              </
            
            
              property
            
            
              >
            
            
            
           
         | 
      
      
        | 
           
            
              顯示輸出
              
                SQL
              
              
                格式
              
            
            
            
           
         | 
      
    
  
  
    
    
  
  
    
      3)
    
    
      字段和屬性的對(duì)應(yīng)
    
    
    
  
  
    
      注解:都需要位于
    
    
      javax.persistence
    
    
      .*;
    
    
      可以使用
      
        @Entity
      
    
    
    
  
  
    
    
  
  
    
      A)
      
        表名和類(lèi)名不同,對(duì)類(lèi)名進(jìn)行配置
      
    
    
    
  
  
    
    
  
  
    
      表名和類(lèi)中定義的名稱(chēng)不同使用
      
        @Table(name="table_name")
      
    
    
      ?
    
    
    
  
  
    
      
        | 
           
            
              private
            
            
              ?String?
            
            
              user_id
            
            
              ;
            
            
            
           
          
            
            
           
          
            
              ???
            
            
              //@使用注解?annotation
            
            
            
           
          
            
              ???
            
            
              @Entity
            
            
              ?
            
            
            
           
          
            
              ???
            
            
              @Table
            
            
              (name=
            
            
              "admin_log"
            
            
              )
            
            
            
           
          
            
              ????
            
            
              public
            
            
              ?
            
            
              class
            
            
              ?Ith_Admin_Log?{
            
            
            
           
          
            
            
           
          
            
              ????}
            
            
            
           
         | 
      
    
  
  
    
    
  
  
    
      B
      
        )
      
    
    
      字段名和屬性相同
    
    
    
  
  
    
    
  
  
    
    
  
  
    
      C)
      
        字段名和屬性不同
      
    
    
    
  
  
    
      字段名和表中的字段名不同使用
      
        @Column(name="xxx")
      
    
    
      ,
    
    
      不用寫(xiě)
    
    
      @column?
    
    
      與
    
    
      默認(rèn)
    
    
      的
    
    
      @Basic
    
    
      效果一樣
    
    
    
  
  
    
      ?
    
    
    
    
      Xml
    
    
      中不用寫(xiě)
    
    
      ?column
    
    
    
  
  
    
      
        | 
           
            
              private
            
            
              ?String?
            
            
              user_id
            
            
              ;
            
            
            
           
          
            
            
           
          
            
              ????
            
            
              @Column
            
            
              (name=
            
            
              "add_user"
            
            
              )
            
            
            
           
          
            
              public
            
            
              ?String?getUser_id()?{
            
            
            
           
          
            
              return
            
            
              ?
            
            
              user_id
            
            
              ;
            
            
            
           
          
            
              }
            
            
            
           
          
            
              public
            
            
              ?
            
            
              void
            
            
              ?setUser_id(String?user_id)?{
            
            
            
           
          
            
              this
            
            
              .
            
            
              user_id
            
            
              ?=?user_id;
            
            
            
           
          
            
              }
            
            
            
           
         | 
      
    
  
  
    
    
  
  
    
    
  
  
    
      D)
    
    
      不需要持久化字段:
      
        @Transient?(transient)
      
      
        透明的
      
    
    
      ?
    
    
    
  
  
    
      定義
      
        @transient
      
      
        注解屬性是透明的,數(shù)據(jù)庫(kù)無(wú)需知道定義
      
    
    
    
  
  
    
      注解使用日期可以使用
      
        @Temportal(TemportalType.DATE)
      
    
    
    
  
  
    
      H
    
    
      ibernate?annotation
      
        字段映射位置,應(yīng)該放在
      
      
        get
      
      
        上面
      
    
    
    
  
  
    
      為什么不加屬性上面。因?yàn)閷傩员旧砭褪撬接械模接械谋旧砭筒恍枰獎(jiǎng)e人調(diào)用。
    
    
    
  
  
    
    
  
  
    
      
        | 
           
            
              Annotation
            
            
              :
            
            
              @Temporal(
            
            
              參數(shù)
            
            
              )?
            
            
              參數(shù)有
            
            
              3
            
            
              種
            
            
              ?
            
            
              只顯示時(shí)間
            
            
              ,
            
            
              只顯示日期
            
            
              ,
            
            
              時(shí)間日期都顯示
            
            
            
           
          
            
              //@Temporal(TemporalType.DATE)??
            
            
              只顯示日期
            
            
            
           
          
            
              //@Temporal(TemporalType.TIME)??
            
            
              只顯示時(shí)間
            
            
            
           
          
            
              //@Temporal(TemporalType.TIMESTAMP)??
            
            
              顯示日期與時(shí)間
            
            
            
           
          
            
              X
            
            
              ml:
            
            
              指定
            
            
              ?type
            
            
            
           
          
            
              <class?name="Teacher"?table="Teacher"?>
            
            
            
           
          
            
              <id?name="id"?column="id"></id>
            
            
            
           
          
            
              <property?name="name"?type="
            
            
              time
            
            
              "?/>
            
            
            
           
          
            
              </class>
            
            
            
           
         | 
      
    
  
  
    
      ?
    
    
    
  
  
    
      
        | 
           
            
              private
            
            
              ?Date???
            
            
              add_date
            
            
              ;
            
            
            
           
          
            
            
           
          
            
              @Temporal
            
            
              (TemporalType.
            
            
              DATE
            
            
              )
            
            
            
           
          
            
              public
            
            
              ?Date?getAdd_date()?{
            
            
            
           
          
            
              return
            
            
              ?
            
            
              add_date
            
            
              ;
            
            
            
           
          
            
              }
            
            
            
           
          
            
              public
            
            
              ?
            
            
              void
            
            
              ?setAdd_date(Date?add_date)?{
            
            
            
           
          
            
              this
            
            
              .
            
            
              add_date
            
            
              ?=?add_date;
            
            
            
           
          
            
              ?????
            
            
              }
            
            
            
           
         | 
      
      
        | 
           
            
            
           
         | 
      
    
  
  
    
    
  
  
    
    
    
      E
    
    
      映射枚舉類(lèi)型
    
    
      (?
    
    
      比較少用
    
    
      )
    
    
    
  
  
    
      a)?
    
    
      @Enumerated
    
    
    
  
  
    
      @Enumerated(EnumType.ORDINAL)?
    
    
      枚舉類(lèi)型按位置數(shù)
    
    
      ,
    
    
      如
    
    
      :0,1,2?...
    
    
      存儲(chǔ)
    
    
    
  
  
    
      @Enumerated(EnumType.
    
    
      STRING
    
    
      )??
    
    
      枚舉類(lèi)型按設(shè)定值存儲(chǔ)
    
    
      DB
    
    
    
  
  
    
      xml:
    
    
      麻煩
    
  
   <!--EndFragment-->
                
  
    
      Hibernate的基礎(chǔ)配置
    
  
 
 
 	
	
	
	
	
			
	
		
			
				
					更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
					
						微信掃碼或搜索:z360901061
					
					
					
						微信掃一掃加我為好友
						
							QQ號(hào)聯(lián)系:  360901061
						
					 
				 
			 
		 
	 
	
		
			
				
					您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
					
						【本文對(duì)您有幫助就好】元