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

📄 testservlet.java

📁 一个关于hibernate的实现例子
💻 JAVA
字号:
package com.hellking.study.hibernate;

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletException;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;


public class TestServlet
    extends HttpServlet {

    private SessionFactory sessionFactory;
    private Session session;
    private Transaction transaction;

    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        try {
            // Initialize Hibernate (Configuration and SessionFactory)
             initHibernate();

            // Prepare out
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();

            // Create some Cats
            beginTransaction();
            addData(out);
            endTransaction(true);          

        } catch (HibernateException e) {
             throw new ServletException(e);
         }

    }

    public void addData(PrintWriter out)
        throws HibernateException {

         out.print("<h3>Creating student:</h3>");
         out.println("CREATING 'Princess'...<br/>");
        try
        {
        
          Student jake = new Student();
          jake.setName("jake");
          jake.setId("008");
          
        Address addr=new Address();
        addr.setCity("beijing");
        addr.setState("bj");
        addr.setStreet("tsinghua");
        addr.setZip("100083");
        addr.setId(jake.getId());        

        jake.setAddress(addr);
       

       Set set=new HashSet();
        set.add(jake);
        Course course=new  Course  ();
        course.setId("218");
        course.setName("computer_jsp");
        course.setStudents(set);
       
       
        //Set cour_set=new HashSet();
        //cour_set.add(course);
       // jake.setCourses(cour_set);
         
        Classes cl=new Classes();
        cl.setId("238");
        cl.setName("pro computer");
        cl.setStudents(set);
        
        jake.setClasses(cl);        

        session.save(addr);
        session.save(cl);
        session.save(course);
        session.save(jake);
       }
       catch(HibernateException e)
       {
         
           System.out.println("e in addData");
           e.printStackTrace();
       	   throw e;
       }

          
    }

   

    // Helper Methods
    private void initHibernate()
        throws HibernateException {

        // Load Configuration and build SessionFactory
        sessionFactory = new Configuration().configure().buildSessionFactory();
    }

    private void beginTransaction()
        throws HibernateException {

        session = sessionFactory.openSession();
        transaction = session.beginTransaction();
    }

    private void endTransaction(boolean commit)
        throws HibernateException {

        if (commit) {
            transaction.commit();
        } else {
            // Don't commit the transaction, can be faster for read-only operations
            transaction.rollback();
        }
        session.close();
    }

}

⌨️ 快捷键说明

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