熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

如何在MyEclipse快速搭建Hibernate應用

2013-11-23 20:37:18  來源: Java開源技術 

  我們所要建的應用非常簡單只是利用hibernate對一張表進行操作

  軟件環境

  Eclipse

  MyEclipse

  MySql Server

  MySql Java Connector J

  hibernate Core Libraries

  hibernate Advanced Libraries

  參考書籍及文檔

  <<深入淺出Hibernate>>夏昕唐勇曹曉剛

  MyEclipse Help Content

  整個應用的創建依以下步驟完成

  ()新建一個名為hibernatetest的mysql schema

  ()創建一張名為User的表格其語句如下

  

  CREATE TABLE `hibernatetest``User` (
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT
  `name` VARCHAR() NOT NULL
  `sex` CHAR NOT NULL
  `age` TINYINT UNSIGNED NOT NULL
  PRIMARY KEY (`id`)
  )
  ENGINE = InnoDB;

  ()打開MyEclipse的DB Browser視圖在右擊選項菜單(Context Menu)上選擇New……彈出Database

  Profile對話框用於新建一個Profile填入以下信息

  <>Profile Name localhost_mysql_profile

  <>Driver 打開Configure database driver鏈接配置jdbc驅動我們只需加入MySql

  Connector J的JDBC驅動即可

  <>URL jdbc mysql:///hibernatetest

  <>User Name 用戶名

  <>Password 密碼

  創建完profile後嘗試一下連接至數據庫成功即可

  ()在Eclipse中新建一個名為HibernateSample的Java項目

  <>創建一個名為config的目錄用於放置hibernatecfgxml

  <>創建一個名為mappings的目錄用於放置映射文件

  ()在HibernateSample項目的右擊選項菜單中選擇MyEclipse>Add Hibernate Capabilities……這

  樣會彈出一個Hibernate Support for MyEclipse的對話框

  <>第一步是選擇要添加到工程的包我們把Hibernate的Core及Advanced包都勾上

  <>第二步是否創建hibernatecfgxml我們把configuration folder設定為src\config

  <>第三步是指定數據庫連接細節(specify database connection details)我們只需名為

  localhost_mysql_profile即可因為我們之前已經進行了設置

  <>第四步問你是否創建SessionFactory這個SessionFactory其實是Hibernate提供的一個用於

  管理Session的類它可以確保在每個獨立的線程中Session是唯一的我們創建名為

  testhibernatesamplefactoryHibernateSessionFactory的類

  通過上述的四步現在的工程裡面已經擁有了hibernate所需的包及配置文件

  ()在src目錄下創建一個名為logjproperties的文件內容如下

  

  ### direct log messages to stdout ###
  logjappenderstdout=orgapachelogjConsoleAppender
  logjappenderstdoutTarget=Systemout
  logjappenderstdoutlayout=orgapachelogjPatternLayout
  logjappenderstdoutlayoutConversionPattern=%d{ABSOLUTE} 
%p %c{}:%L  %m%n
  logjrootLogger=warn stdout
  hibernate=error

  因為hibernate是通過logj進行日志管理的所以加上這個會比較好不加會在運行時出錯

  ()創建testhibernatesamplemodelUser類篇幅所限大致如下

  

  package testhibernatesamplemodel;
  public class User {
  private Integer id;
  private String name;
  private char sex;
  private byte age;
  //後面是一堆的settergetter用於set及get各個屬性
  }

  ()在工程的mappings(在第步創建的目錄)目錄下創建一個名為Userhbmxml內容如下

  mappingdtd>

  ()在HibernateSample項目的右擊選項菜單中選擇New > JUnit Test Case……彈出新建JUnit

  Test Case的對話框

  <>package上輸入testhibernatesampletest

  <>type上輸入UserTest

  <>在which method stubs whould you like to create中勾上setUp()tearDown()

  整個UserTest類的代碼如下

  

  package testhibernatesampletest;
  import orghibernateHibernateException;
  import orghibernateSession;
  import orghibernateTransaction;
  import testhibernatesamplefactoryHibernateSessionFactory;
  import testhibernatesamplemodelUser;
  import junitframeworkAssert;
  import junitframeworkTestCase;
  public class UserTest extends TestCase {
  //hibenate的session對象
  private Session session = null;
  protected void setUp() throws Exception {
  supersetUp();
  session = HibernateSessionFactorycurrentSession();
  }
  public void testUserInsert() {
  Transaction tran = null;
  try {
  tran = sessionbeginTransaction();
  User user = new User();
  usersetName(suhaoyuan);
  usersetSex(M);
  usersetAge(ByteparseByte());
  sessionsave(user);
  mit();
  AssertassertEquals(getId()intValue() >  true);
  }
  catch(HibernateException ex) {
  exprintStackTrace();
  Assertfail(exgetMessage());
  if(tran != null) {
  try {
  tranrollback();
  }
  catch(HibernateException tranEx) {
  tranExprintStackTrace();
  }
  }
  }
  }
  protected void tearDown() throws Exception {
  supertearDown();
  HibernateSessionFactorycloseSession();
  }
  }

  ()運行剛創建的UserTest測試用例即完成該應用


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28761.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.