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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate 入门小案例

發布時間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate 入门小案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:???

??????學習學到現在終于要學習框架了,心里有點小激動呢,也不知道自己能不能學好呢,只能按著一步一個腳印的走下去,好了廢話不多說。讓我們打開hibernate?的大門吧!!!

肯定好多人都會問什么是hibernate呢?

解答:Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。

??????我們接觸了Intelij IDEA,聽老師說這是一款特別強大的軟件,下面的案例就是那這個軟件操作的。有興趣的同學可以去下載。

??? 首先我要說一點,在IntelliJ IDEA里面“new Project”就相當于我們eclipse的“workspace”,而“new Module”才是創建一個工 程,這是要注意的一點。

Intelij IDEA?中的架構圖:

創建一個工程分為以下幾步:

(1)new?project

????????

這樣一個項目就有了,接下來我們要添加我們需要的資源

(2)創建lib文件夾

以上就是現階段我們所需要的jar包

(3)創建resource文件夾,其中包含hibernate?的大配置信息,在這要注意命名問題:hibernate.ccfg.xml

<?xml version='1.0' encoding='utf-8'?> <!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>< !--數據庫連接設置-->< !--數據庫JDBC驅動設置--><property name="connection.driver_class" >oracle.jdbc.driver.OracleDriver</property>< !--數據庫url--><property name="connection.url" >jdbc:oracle:thin:@localhost:1521:orcl</property>< !--數據庫用戶名--><property name="connection.username" >lex</property>< !--數據庫用戶密碼--><property name="connection.password" >lex</property>< !--JDBC連接池(使用內置的)--><property name="connection.pool_size" >1</property>< !--SQL方言--><property name="dialect" >org.hibernate.dialect.Oracle10gDialect</property>< !--使Hibernate自動會話上下文管理--><property name="current_session_context_class" >thread</property><!--關閉二級緩存--><property name="cache.provider_class" >org.hibernate.cache.NoCacheProvider</property><!-- 是否將運行期間生成的sql輸出到日志以供調試--><property name="show_sql" >true</property>< !--在啟動時,刪除和重新創建數據表結構--><property name="hbm2ddl.auto" >update</property>
<!--?關聯小配置-->
<mapping-resource>cn/lex/entity/Student.hbm.xml</mapping-resource> </hibernate-configuration >

(4)配置小配置,存在于實體層,命名:Student.hbm.xml

<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.lex.entity"><class name="Student" table="Student"><id name="id" column="id"><generator class="native"/></id><property name="name"></property></class></hibernate-mapping >

(5)書寫測試

?

package cn.lex.test;import cn.lex.entity.Student; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.After; import org.junit.Before; import org.junit.Test;import java.util.List;/*** Created by accp on 2017/1/9.*/ public class FirstTest {Configuration cfg; //配置對象Session session; //會話對象Transaction tx; //事務對象@Beforepublic void mybefore(){cfg=new Configuration().configure(); //獲取配置對象SessionFactory factory = cfg.buildSessionFactory(); //獲取sessionfactory對象session= factory.openSession(); //獲取session對象tx= session.beginTransaction(); //開啟事務}//添加學生@Testpublic void add(){Student stu=new Student();stu.setName("微冷的雨");session.save(stu); //提交到數據庫System.out.println("save ok!");}//根據條件查詢學生姓名@Testpublic void select(){String hql="from Student where id=?";Query query = session.createQuery(hql);query.setParameter(0,26);Student stu =(Student) query.uniqueResult();System.out.println(stu.getName());}

//修改學生姓名
?@Test
public void update(){
Student stu=session.load(Student.class,serializable:1);
stu.setName("天空的星星");
System.out.println("update ok!");

}

//刪除學生
?@Test
public void delete(){
?Student stu=session.load(Student.class,serializable:1);
session.delete(stu);
System.out.println("delete ok!");

}

//查詢學生
?@Test
public void select(){
?Student stu=session.load(Student.class,serializable:1);
System.out.println("姓名:"+stu.getName());
}@Afterpublic void after(){tx.commit(); //提交事務session.close(); //關閉session} }

點擊運行即可。。。

?

?

?

?

?

???

?

轉載于:https://www.cnblogs.com/xieweikai/p/6826806.html

總結

以上是生活随笔為你收集整理的Hibernate 入门小案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。