用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
相关文章推荐
- 用Hibernate框架编写一个实例
- 编写一个类,增加一个实例方法用于打印一条字符串。
- 对一个xml编写xsd的实例
- 以一个实例说明 CMakeLists.txt 文件的编写
- 用JUnit测试Spring管理Hibernate框架的一个例子
- 一个项目中hibernate框架下配置多个数据库
- Struts2.3+Spring3.1+Hibernate3.6框架搭建以及实例demo分享
- 一个Hibernate一对一主键双向关联实例
- DIV完全自适应的实例,利用overflow:hidden你可以去掉默认存在的滚动条,一个仿框架的div布局就非常容易了
- Hibernate学习笔记(2)——搭建项目框架编写hibernate配置文件、实体映射文件
- UFT开发实例:一个完整的测试框架源码
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- 图像检索服务器编写问题记录——用单例模式确保log类、server类只返回一个实例
- JPA学习记录二(搭建一个JPA+hibernate实例)
- 一个自己编写的验证框架.
- 编写一个自己的web框架(SimpleWebFrameWork)
- java十二周实验.编写一个应用程序,要求编写一个Panel的子类MyPanel,MyPanel中有一个文本框和一个按钮,要求MyPanel的实例作为其按钮的ActionEvent事件的监视器,当单击
- 使用jsf + hibernate制作一个login实例教学录像
- 持久化框架Hibernate 开发实例(二)
- 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架