Hibernate 之增、删、改、查

来源:互联网 发布:去香港用什么网络 编辑:程序博客网 时间:2024/06/08 15:55


数据库:oracle 10g

开发环境:Myeclipse8+

数据库结构:

-- Create tablecreate table STUDENT(  SID       NUMBER not null,  SNAME     VARCHAR2(10),  SNO       CHAR(10),  SAGE      NUMBER,  SSEX      CHAR(1),  SBIRTHDAY DATE)tablespace USERS  pctfree 10  initrans 1  maxtrans 255  storage  (    initial 64K    minextents 1    maxextents unlimited  );-- Create/Recreate primary, unique and foreign key constraints alter table STUDENT  add constraint PK_STUDENT primary key (SID)  using index   tablespace USERS  pctfree 10  initrans 2  maxtrans 255  storage  (    initial 64K    minextents 1    maxextents unlimited  );


本例由Myeclipse添加Hibernate框架,及生成pojo类,还有HibernateSessionFactory.java

1)根据主键查找:

public void testFind() {Session session = HibernateSessionFactory.getSession();Student s = (Student) session.load(Student.class, 1234);//与get的区别:load若主键值不存在,则抛出异常//Student s = (Student) session.get(Student.class, 1234);//而get使用时,主键不存在,返回的是null,推荐使用System.out.println(s);HibernateSessionFactory.closeSession();}

2)根据主键删除:

public void testDelete(){Session session = HibernateSessionFactory.getSession();Student s = new Student();s.seSid(1234);Transaction tran =session.beginTransaction();session.delete(s);tran.commit();//要记得提交,否则去查看数据库就可以看到数据并没有删除HibernateSessionFactory.closeSession();}

3)根据主键更新:

public void testUpdate1() {Session session = HibernateSessionFactory.getSession();Object obj = session.get(Tuser.class, 1234);if (obj != null) {
Student s = (Student) obj;
user.setSname("zhangfei");Transaction tran = session.beginTransaction();session.update(s);tran.commit();}HibernateSessionFactory.closeSession();}

4)增加记录:

public void testSave() {Session session = HibernateSessionFactory.getSession();Student s = new Student();s.setSid(1234);s.setSname("zhangfei");s.setSno("s001");s.setSsex("1");s.setSbirthday(new Date());Transaction tran = session.beginTransaction(); // save,update,delete都需要加transactionsession.save(s);tran.commit();HibernateSessionFactory.closeSession();}

未完。

原创粉丝点击