2018-4-11日誌記錄(Hibernate溫習)

今日工作:今日完成Hinernate的一些入門級別的練習,溫習了之前學習過的知識點,

總結下開發步驟:

很經典的一個例子,我們來這寫一個HelloWord入門例子。

1、我們來搭建hinernate的環境.

     首先新建一個JAVA項目,建立一個lib目錄,用來放hibernate的庫文件。

1)、添加所需要的jar包



2)、配置hibernate.cfg.xml文件


<session-factory>

  <!-- 數據庫連接配置 -->
  <property name="connection.username">root</property>
  <property name="connection.password">root</property>
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql:///hibernate_1</property>

  <!-- 配置hibernate基本信息 -->
  <!-- sql方言-->
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

  <!-- 是否控制檯打印信息 -->
  <property name="show_sql">true</property>
  <!-- 顯示格式化 -->
  <property name="format_sql">true</property>
  <!-- 自動生成數據表的策略 -->
  <property name="hbm2ddl.auto">update</property>

  <!-- 指定關聯的.hbm.xml文件 -->
  <mapping resource="com/tianliangge/hibernate/User.hbm.xml"/>

  </session-factory>


2.創建一個實體類,並且寫好裏面的get.set方法,然後寫上兩個構造函數,一個帶參和無參的,在實體類的包路徑下面創建對象映射文件---hbm.xml
裏面包含的是實體類和數據表的映射關係。

<hibernate-mapping>
  <class name="com.tianliangge.hibernate.User" table="USER">
  <id name="id" type="int">
  <column name="ID" />
  <!-- 生成id的方式,native是按照數據庫的方式生成id -->
  <generator class="native" />
  </id>
  <property name="name" type="java.lang.String">
  <column name="NAME" />
  </property>
  <property name="date" type="java.sql.Date">
  <column name="DATE" />
  </property>
  </class>
</hibernate-mapping>


3、在hibernate.cfg.xml文件中關聯.hbm.xml文件


<mapping resource="com/tianliangge/hibernate/User.hbm.xml" />


4、建立測試類測試。
 
//1.建立一個Session對象
  SessionFactory sessionFactory = null;
  //1).建立一個Configuration對象,對應hibernate的基本配置和對象映射文件
  Configuration configuration = new Configuration().configure();
  //4.0 之前這樣創建
// sessionFactory = configuration.buildSessionFactory();

  //2). 創建一個 ServiceRegistry 對象: hibernate 4.x 新添加的對象
  //hibernate 的任何配置和服務都需要在該對象中註冊後纔能有效.
  ServiceRegistry serviceRegistry =

  new ServiceRegistryBuilder().applySettings(configuration.getProperties())
  .buildServiceRegistry();

  //3).
  sessionFactory = configuration.buildSessionFactory(serviceRegistry);

  //2. 創建一個 Session 對象
  Session session = sessionFactory.openSession();

  //3. 開啓事務
  Transaction transaction = session.beginTransaction();

// //4. 執行保存操作
// User news = new User("c++",new Date(new java.util.Date().getTime()));
// session.save(news);
//
// //5. 提交事務
// transaction.commit();
//
// //6. 關閉 Session
// session.close();
//
// //7. 關閉 SessionFactory 對象
// sessionFactory.close();
  User user = (User)session.get(User.class, 1);

  System.out.println("get:"+user);

項目的路徑如下:

一個經典的例子就寫完了。

明日計劃:明日計劃是完成新的任務安排,溫習hibernate裏面的幾種映射關係。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章