您的位置:首页 > 其它

用Hibernate框架编写一个实例

2012-12-18 16:57 253 查看

domain中的Student类

packagecom.hbsi.domain;

importjava.util.Date;

publicclassStudent{
privateintid;
privateStringname;
privateDatebirthday;
privateStringlikes;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicDategetBirthday(){
returnbirthday;
}
publicvoidsetBirthday(Datebirthday){
this.birthday=birthday;
}
publicStringgetLikes(){
returnlikes;
}
publicvoidsetLikes(Stringlikes){
this.likes=likes;
}

}

dao包中的接口

packagecom.hbsi.dao;

importjava.util.List;

importcom.hbsi.domain.Student;

publicinterfaceStudentDao{
publicvoidsaveUser(Studentstu);
publicStudentfindUserById(intid);
publicList<Student>findALL();
publicvoidupdateUser(Studentstu);
publicvoidremove(Studentstu);

}


实现类

packagecom.hbsi.dao;

importjava.text.DateFormat;

importjava.util.List;

importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.junit.Test;

importcom.hbsi.domain.Student;
importcom.hbsi.utils.HibernateSessionFactory;

publicclassStudentDaoImpimplementsStudentDao{

@Override
publicList<Student>findALL(){
Sessionsession=HibernateSessionFactory.getSession();
Queryquery=session.createQuery("fromStudent");
List<Student>students=query.list();
returnstudents;

}
@Override
publicStudentfindUserById(intid){
Sessionsession=HibernateSessionFactory.getSession();

Studentstu=(Student)session.get(Student.class,id);

session.close();
returnstu;
}

@Override
publicvoidremove(Studentstu){
Sessionsession=HibernateSessionFactory.getSession();
session.beginTransaction();

session.delete(stu);
session.getTransaction().commit();
session.close();

}

@Override
publicvoidsaveUser(Studentstu){
Sessionsession=HibernateSessionFactory.getSession();
session.beginTransaction();
session.save(stu);
session.getTransaction().commit();
session.close();

}

@Override
publicvoidupdateUser(Studentstu){
Sessionsession=HibernateSessionFactory.getSession();
session.beginTransaction();

session.update(stu);
session.getTransaction().commit();
session.close();

}

}

测试类

packagecom.hbsi.test;

importjava.text.DateFormat;
importjava.text.ParseException;
importjava.util.Date;
importjava.util.List;

importorg.junit.Test;

importcom.hbsi.dao.StudentDao;
importcom.hbsi.dao.StudentDaoImp;
importcom.hbsi.domain.Student;

publicclassStudentTest{
privateStudentDaosd=newStudentDaoImp();
@Test
publicvoidinsert()throwsParseException{
Studentstu=newStudent();
stu.setName("aa");
stu.setBirthday(DateFormat.getDateInstance().parse("1992-09-08"));
stu.setLikes("唱歌");
sd.saveUser(stu);
}
@Test
publicvoidfindAll(){
List<Student>students=sd.findALL();
for(Studentstu:students){
System.out.println(stu.getId()+"..."+stu.getName()+"..."+stu.getBirthday()+"..."+stu.getLikes());
}
}
@Test
publicvoidfindUserById(){
Studentstu=sd.findUserById(2);
System.out.println(stu.getId()+"..."+stu.getName()+"..."+stu.getBirthday()+"..."+stu.getLikes());
}
@Test
publicvoidupdateUser(){
Studentstu=newStudent();
stu.setId(2);
stu.setName("ss");
stu.setBirthday(newDate());
stu.setLikes("kkl");
sd.updateUser(stu);
}
@Test
publicvoidremove(){
Studentstu=newStudent();
stu.setId(2);
sd.remove(stu);
}
}

ORM

<?xmlversion="1.0"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mappingpackage="com.hbsi.domain">
<classname="Student">
<idname="id">
<generatorclass="increment"/>
</id>
<propertyname="name"/>
<propertyname="birthday"type="date"/>
<propertyname="likes"/>
</class>
</hibernate-mapping>



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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐