用Hibernate框架编写一个实例

domain中的Student类

package com.hbsi.domain;

import java.util.Date;

public class Student {
	private int id;
	private String name;
	private Date birthday;
	private String likes;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getLikes() {
		return likes;
	}
	public void setLikes(String likes) {
		this.likes = likes;
	}
	
	
}
 

dao包中的接口

package com.hbsi.dao;

import java.util.List;

import com.hbsi.domain.Student;

public interface StudentDao {
	public void saveUser(Student stu);
	public Student findUserById(int id);
	public List<Student> findALL();
	public void updateUser(Student stu);
	public void remove(Student stu);


}

 

 

实现类

package com.hbsi.dao;

import java.text.DateFormat;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.junit.Test;

import com.hbsi.domain.Student;
import com.hbsi.utils.HibernateSessionFactory;

public class StudentDaoImp implements StudentDao {

	@Override
	public List<Student> findALL() {
		Session session=HibernateSessionFactory.getSession();
		Query query=session.createQuery("from Student");
		List<Student> students=query.list();
		return students;
		
	}
	@Override
	public Student findUserById(int id) {
		Session session=HibernateSessionFactory.getSession();
		
		Student stu=(Student) session.get(Student.class,id);
		
		session.close();
		return stu;
	}

	@Override
	public void remove(Student stu) {
		Session session=HibernateSessionFactory.getSession();
		session.beginTransaction();
		
		session.delete(stu);
		session.getTransaction().commit();
		session.close();
		
	}

	@Override
	public void saveUser(Student stu) {
		Session session=HibernateSessionFactory.getSession();
		session.beginTransaction();
		session.save(stu);
		session.getTransaction().commit();
		session.close();
		
	}

	@Override
	public void updateUser(Student stu) {
		Session session=HibernateSessionFactory.getSession();
		session.beginTransaction();
		
		
		session.update(stu);
		session.getTransaction().commit();
		session.close();
		
	}

}

测试类

package com.hbsi.test;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.List;

import org.junit.Test;

import com.hbsi.dao.StudentDao;
import com.hbsi.dao.StudentDaoImp;
import com.hbsi.domain.Student;
	
public class StudentTest {
	private StudentDao sd=new StudentDaoImp();
	@Test
	public void insert() throws ParseException{
		Student stu=new Student();
		stu.setName("aa");
		stu.setBirthday(DateFormat.getDateInstance().parse("1992-09-08"));
		stu.setLikes("唱歌");
		sd.saveUser(stu);
	}
	@Test
	public void findAll(){
		List<Student> students=sd.findALL();
		for(Student stu:students){
			System.out.println(stu.getId()+"..."+stu.getName()+"..."+stu.getBirthday()+"..."+stu.getLikes());
		}
	}
	@Test
	public void findUserById(){
		Student stu=sd.findUserById(2);
		System.out.println(stu.getId()+"..."+stu.getName()+"..."+stu.getBirthday()+"..."+stu.getLikes());
	}
	@Test
	public void updateUser(){
		Student stu=new Student();
		stu.setId(2);
		stu.setName("ss");
		stu.setBirthday(new Date());
		stu.setLikes("kkl");
		sd.updateUser(stu);
	}
	@Test
	public void remove(){
		Student stu=new Student();
		stu.setId(2);
		sd.remove(stu);
	}
}

ORM

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping package="com.hbsi.domain">
    <class name="Student" >
        <id name="id">
            <generator class="increment" />
        </id>
        <property name="name" />
        <property name="birthday" type="date"/>
        <property name="likes"/>
    </class>
</hibernate-mapping>


注释:本次是通过Myeclipse工具添加的Hibernate


你可能感兴趣的:(用Hibernate框架编写一个实例)