⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testchapter3.java

📁 Hibernate基础教程一书源码.Hibernate是一个持久层开源框架
💻 JAVA
字号:
package sample;

import java.util.Iterator;

import org.hibernate.HibernateException;
import org.hibernate.Transaction;

import sample.dao.AdvertDAO;
import sample.dao.CategoryDAO;
import sample.dao.HibernateHelper;
import sample.dao.PhoneDAO;
import sample.dao.UserDAO;



public class TestChapter3 {

   public static void main(String[] args) {
      Transaction tx = HibernateHelper.getSession().beginTransaction();
      TestChapter3 tc3 = new TestChapter3();
      try {
         if ((args.length == 1) && args[0].equals("init")) {
            tc3.populateDatabase();
            tx.commit();
            System.out.println("Test data created and committed");
         } else {
            tc3.displayDatabase();
            tx.commit();
         }
      } catch (AdException e) {
         tx.rollback();
      } catch (HibernateException e) {
         tx.rollback();
      }
   }

   public void displayDatabase() throws AdException {
      Iterator ci = cdao.getAllCategories().iterator();
      while (ci.hasNext()) {
         Category category = (Category) ci.next();

         System.out.println("========");
         System.out.println("Category: " + category.getTitle());

         Iterator ai = category.getAdverts().iterator();
         while (ai.hasNext()) {
            Advert ad = (Advert) ai.next();
            System.out.println("  " + ad.getTitle());
            System.out.println("  " + ad.getMessage());
            System.out.println(" Contact: " + ad.getUser().getName());
            Iterator pi = pdao.getPhone(ad.getUser()).iterator();
            while (pi.hasNext()) {
               Phone phone = (Phone) pi.next();
               System.out.println(" " + phone.getComment() + ": "
                     + phone.getNumber());
            }
            System.out.println("--------");
         }
      }
   }

   public void populateDatabase() throws AdException {
      Category cat1 = cdao.createCategory("Computing");
      Category cat2 = cdao.createCategory("Instruments");

      User dave = udao.createUser("dminter", "london");
      pdao.createPhone("Mobile", "07973 000 000", dave);
      pdao.createPhone("Home", "0208 000 000", dave);
      pdao.createPhone("Work", "0207 000 000", dave);

      User jeff = udao.createUser("jlinwood", "austin");
      pdao.createPhone("Cell", "555 000 001", jeff);
      pdao.createPhone("Home", "555 000 002", jeff);
      pdao.createPhone("Work", "555 000 003", jeff);

      cat1.getAdverts().add(
            adao.createAdvert(
                  "Sinclair Spectrum for Sale",
                  "48k, original box and packaging.", 
                  dave));
      cat1.getAdverts().add(
            adao.createAdvert(
                  "IBM PC for sale",
                  "Original, not clone. 640Kb.",
                  dave));
      cat1.getAdverts().add(
            adao.createAdvert(
                  "Apple II for sale",
                  "Complete with paddles. Call after 5pm", 
                  dave));
      cat2.getAdverts().add(
            adao.createAdvert(
                  "Elderly baby Grand Piano for sale",
                  "Overstrung. Badly out of tune.",
                  dave));
      cat2.getAdverts().add(
            adao.createAdvert(
                  "Trombone for sale",
                  "Slide missing. 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -