《Java从入门到放弃》框架入门篇:hibernate基本用法
昨天我們進行了hibernate的配置,并且進行了根據ID查詢對應數據的操作,今天我們來看看hibernate中的幾個配置文件,里面到底有什么東東。
一、hibernate.cfg.xml
<hibernate-configuration><session-factory><property?name="dialect">org.hibernate.dialect.MySQLDialect</property><property?name="connection.url">jdbc:mysql://127.0.0.1:3306/superktv</property><property?name="connection.username">root</property><property?name="connection.password">root</property><property?name="connection.driver_class">com.mysql.jdbc.Driver</property><property?name="myeclipse.connection.profile">mysql</property><mapping?resource="com/pxy/dao/Author.hbm.xml"?/></session-factory> </hibernate-configuration>這里面應該沒有什么不好懂的吧,就注意一點,<mapping>標簽的路徑不要引用錯了,每次引用完后,記得按住Ctrl鍵,再把鼠標移動到resource的值上去,如果雙引號里的內容變成了超鏈接,那說明沒問題。當然,如果你是通過DBBrowser生成的文件,那肯定不會引用錯誤。
二、Author.hbm.xml
<hibernate-mapping><class?name="com.pxy.entity.Author"?table="author"?catalog="blogdb"><id?name="id"?type="java.lang.Integer"><column?name="id"?/><generator?class="native"?/></id><property?name="username"?type="java.lang.String"><column?name="username"?length="20"?not-null="true"?/></property><property?name="password"?type="java.lang.String"><column?name="password"?length="10"?not-null="true"?/></property><property?name="email"?type="java.lang.String"><column?name="email"?length="20"?/></property><property?name="address"?type="java.lang.String"><column?name="address"?length="20"?/></property><property?name="phone"?type="java.lang.String"><column?name="phone"?length="20"?/></property></class> </hibernate-mapping>class標簽的name表示對應的實體類,table表示對應的數據表,catalog表示對應的數據庫。
id標簽:表示主鍵。
generator標簽:主鍵的生成策略。
property標簽:表示實體類的屬性。
column標簽:表示對應表中的字段。
對于單個對象的操作,我們上次已經用過了load方法,除此之外,常用的還有以下四個:
get()方法,save()方法,update()方法,delete()方法
從名字就應該可以猜出對應的用法吧,這兒就不在一一演示了,各位看官自行解決吧·
最后簡單說一下load()和get()的區別:
load()方法是延時加載,調用時只返回一個代理對象(只包含ID),并且如果沒有該ID對應的數據會拋ObjectNotFoundException異常。
get()方法是實時加載,調用后就返回ID對應的記錄,如果數據不存在則返回null對象。
為了測試一下效果,我們在hibernate的配置文件中加<propertyname="show_sql">true</property>和<property name="format_sql">true</property>。
注意看下面兩段代碼及結果的區別。
??
至于查不存在的數據,大伙就自己試試吧。今天的就打到這兒吧。下一篇我們來了解稍微高深那么一點點的知識吧。
轉載于:https://blog.51cto.com/softi/1957387
總結
以上是生活随笔為你收集整理的《Java从入门到放弃》框架入门篇:hibernate基本用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache按天截断日志工具,无法生成访
- 下一篇: PhpStorm中绘画UML