日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate学习笔记--第一个Hibernate框架程序

發(fā)布時(shí)間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate学习笔记--第一个Hibernate框架程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一般使用集成開發(fā)環(huán)境是,把所需的類庫添加到項(xiàng)目屬性的庫路徑中,開發(fā)工具在部署時(shí)會(huì)自動(dòng)復(fù)制所需要的類包到WEB-INF\lib目錄下

MyEclipse中:

創(chuàng)建項(xiàng)目,右擊項(xiàng)目->myeclipse->Project Facets->Install Hibernate Facets即可

程序結(jié)構(gòu)

?

1.建表

本例選擇Sql Server2008作為數(shù)據(jù)庫 在MySQL中新增一個(gè)ztest數(shù)據(jù)庫,建立?CUSTOMER 表

CREATE TABLE CUSTOMER (CID INTEGER NOT NULL PRIMARY KEY, USERNAME VARCHAR(12) NOT NULL, PASSWORD VARCHAR(12) );

?

2.創(chuàng)建PO對(duì)象

補(bǔ)充:POJO是Plain OrdinaryJava Object的縮寫,它通指沒有使用Entity Beans的普通java對(duì)象,可以把POJO作為支持業(yè)務(wù)邏輯的協(xié)助類。 POJO實(shí)質(zhì)上可以理解為簡(jiǎn)單的實(shí)體類,顧名思義POJO類的作用是方便程序員使用數(shù)據(jù)庫中的數(shù)據(jù)表 ? Customer.java package com.session;public class Customer { private int id;private String username;private String password;public int getId() {return id;}public String getPassword() {return password;}public String getUsername() {return username;}public void setId(int id) {this.id = id;}public void setPassword(String password) {this.password = password;}public void setUsername(String username) {this.username = username;} }

?

3.XML映像文件

為了告訴Hibernate對(duì)象如何映像至數(shù)據(jù)庫表格,需要編寫一個(gè)XML映射文件,命名為Customer.hbm.xml

與對(duì)應(yīng)的表名要一致,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><class name="com.session.Customer" table="CUSTOMER"><id name="id" column="CID" type="java.lang.Integer"><generator class="increment" /></id><property name="username" column="USERNAME" type="java.lang.String"/><property name="password" column="PASSWORD" type="java.lang.String"/></class> </hibernate-mapping>

注意

class name =java文件完整地址+文件名

table=數(shù)據(jù)庫中建的表名

name為java文件中的屬性,column為數(shù)據(jù)庫中的屬性,二者對(duì)應(yīng)。不要忘了添加type,否則可能出錯(cuò)?

?

4.定義Hibernate配置文件

主要是進(jìn)行SessionFactory配置,Hibernate可以使用XML或?qū)傩晕募磉M(jìn)行配置,下面是使用XML進(jìn)行配置

配置文件名為hibernate.cfg.xml,也可命名為其他

<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration><session-factory><!-- sql Server數(shù)據(jù)庫驅(qū)動(dòng) --> <property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> <!-- sql Server數(shù)據(jù)庫名稱 --> <property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433; DatabaseName=ztest</property> <!-- 數(shù)據(jù)庫的登陸用戶名 --> <property name="hibernate.connection.username">sa</property> <!-- 數(shù)據(jù)庫的登陸密碼 --> <property name="hibernate.connection.password">123</property> <mapping resource ="com/session/Customer.hbm.xml"/><!-- 注意:必須是“/”而不能是“.”。 --></session-factory> </hibernate-configuration>

注意:這個(gè)文件的文件頭和3中的文件頭是不一樣的,另外注意第三行的版本號(hào)別寫錯(cuò)了

另外不同的數(shù)據(jù)庫驅(qū)動(dòng)也不同

?

5.編寫應(yīng)用程序

下面為一個(gè)演示程序

package com.session;import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration;public class Test {public static void main(String[] args) {try {SessionFactory sf =new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();for (int i = 0; i < 200; i++) {Customer customer = new Customer();customer.setUsername("customer" + i);customer.setPassword("customer");session.save(customer);}tx.commit();session.close();} catch (HibernateException e) {e.printStackTrace();}} }

?

編譯執(zhí)行Test.java

在Sql Server2008中執(zhí)行查詢語句: Select * from CUSTOMER

結(jié)果

?

另附鏈接 2004年的一篇文章:?http://blog.csdn.net/doodoofish/article/details/43207/

好的技術(shù)會(huì)被不斷發(fā)展完善。

轉(zhuǎn)載于:https://www.cnblogs.com/gnivor/p/4326049.html

總結(jié)

以上是生活随笔為你收集整理的Hibernate学习笔记--第一个Hibernate框架程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。