一、加载数据库。
1. 使用get()方法。
package com.hibernate.dao;import org.hibernate.Session;import com.hibernate.entity.BaseEntity;public class TestGet { public static void main(String[] args){ new TestGet().getEntityById(1); } private void getEntityById(int i){ //获得Session实例 Session session = HibernateSessionFactory.getSession(); //从数据表中家在Id为i的对象 BaseEntity baseEntity = (BaseEntity)session.get(BaseEntity.class, i); //在控制台数据该对象信息 System.out.println(baseEntity.getCreateTime()); HibernateSessionFactory.clossSession(); }}
使用get方法时,如果制定的记录不存在,则返回null。
2. 使用load()方法。
...BaseEntity baseEntity = (BaseEntity)session.load(BaseEntity.class, i);...
使用load方法如果加载数据不存在,则抛出ObjectNotFoundException异常,这一点与get方法时不同的。
二、删除数据
使用delete方法。
package com.hibernate.dao;import org.hibernate.Session;import org.hibernate.Transaction;import com.hibernate.entity.BaseEntity;public class TestDelete { public static void main(String[] args) { new TestDelete().deleteEntityById(3); } private void deleteEntityById(int i){ //获得Session实例 Session session = HibernateSessionFactory.getSession(); //创建一个事务 Transaction tx =null; //从数据表中家在Id为i的对象 BaseEntity baseEntity = (BaseEntity)session.get(BaseEntity.class, i); try{ //开始一个事务 tx = session.beginTransaction(); //执行删除 session.delete(baseEntity); //提交事务 tx.commit(); }catch(Exception e){ if(tx!=null){ //事务回滚 tx.rollback(); } e.printStackTrace(); }finally { //关闭Session HibernateSessionFactory.clossSession(); } }}
三、修改数据
...//从数据表中家在Id为i的对象BaseEntity baseEntity = (BaseEntity)session.get(BaseEntity.class, i);baseEntity.serCreateTime(new Date());try{ //开始一个事务 tx = session.beginTransaction(); //执行修改 session.update(baseEntity); ...