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