Hibernate学习――一般配置(一)

2014-11-23 20:19:09 · 作者: · 浏览: 13

mysql建表语句:

create table EMPLOYEE ( id INT NOT NULL auto_increment, first_name VARCHAR(20) default NULL, last_name VARCHAR(20) default NULL, salary INT default NULL, PRIMARY KEY (id) );




Employee.java

package com.study;

public class Employee {
	private int id;
	private String firstName;
	private String lastName;
	private int salary;

	public Employee() {
	}

	public Employee(String fname, String lname, int salary) {
		this.firstName = fname;
		this.lastName = lname;
		this.salary = salary;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public int getSalary() {
		return salary;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}
}


对应映射文件:employee.hbm.xml

   

  
	
    
     This class contains the employee detail.  
     
     
      
     
     
     
     
   

  


主配置文件:hibernate.cfg.xml

   

  
	
    
    
      org.hibernate.dialect.MySQLDialect 
     
    
      com.mysql.jdbc.Driver 
     
     
    
      jdbc:mysql://localhost/test 
     
    
      root 
     
    
      253503125 
     
     
     
   

  

测试:

package com.study;

import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;


public class ManageEmployee {
	private static SessionFactory factory;
	public static void main(String[] args) { 
		try{
			factory = new Configuration().configure().buildSessionFactory();
		}catch (Throwable ex) {
			System.err.println("Failed to create sessionFactory object." + ex); 
			throw new ExceptionInInitializerError(ex);
		} 
		ManageEmployee ME = new ManageEmployee(); 
		/* Add few employee records in database */ 
		Integer empID1 = ME.addEmployee("Zara", "Ali", 1000); 
		Integer empID2 = ME.addEmployee("Daisy", "Das", 5000);
		Integer empID3 = ME.addEmployee("John", "Paul", 10000); 
		/* List down all the employees */
		ME.listEmployees(); 
		/* Update employee's records */
		ME.updateEmployee(empID1, 5000);
	/* Delete an employee from the database */ 
		ME.deleteEmployee(empID2); 
		/* List down new list of the employees */ 
		ME.listEmployees(); 
	} 
	/* Method to CREATE an employee in the database */ 
		public Integer addEmployee(String fname, String lname, int salary){
			Session session = factory.openSession();
			Transaction tx = null;
			Integer employeeID = null;
			try{ 
				tx = session.beginTransaction(); 
				Employee employee = new Employee(fname, lname, salary);
				employeeID = (Integer) session.save(employee); tx.commit(); 
			}catch (HibernateException e) { 
				if (tx!=null) 
					tx.rollback();
				e.printStackTrace(); 
			}finally {
				session.close();
			} 
			return employeeID; 
		}
		/* Method to READ all the employees */
		public void listEmployees( ){
			Session session = factory.openSession(); 
			Transaction tx = null; 
			try{ 
				tx = session.beginTransaction(); 
				List employees = session.createQuery("FROM Employee").list();
				for (Iterator iterator = employees.iterator();iterator.hasNext();){ 
					Employee employee = (Employee) iterator.next();