【Hibernate学习之路4】操作持久化类

来源:互联网 发布:淘宝助理批量删除图片 编辑:程序博客网 时间:2024/05/21 07:19

针对处于出与持久化状态的类,主要是针对Session(会话实例)进行操作,本文主要介绍几个常用的方法。
前提代码如下:

public static void main(String[] args) {        Session session = null;        Transaction tran  = null;        try {            Configuration cfg = new Configuration().configure();            SessionFactory factory = cfg.buildSessionFactory();            session = factory.openSession();            tran = session.beginTransaction();            Emp e = new Emp();            //下文的方法操作写在这个区域            tran.commit();        } catch (Exception e) {            e.printStackTrace();            tran.rollback();        }finally{            session.close();        }    }}

save//把瞬时对象保存到数据库中

e.setEmpno(1234);e.setEname("王五");e.setJob("bbbbbb");e.setMgr(7839);e.setSal(3000.0);e.setComm(200.0);e.setDeptno(30);session.save(e);

get//通过对象标示获取对象

//通过get()方法返回的是Object类型,需要进行强制转换//第一个参数为class,第二个参数为数据主键    e =(Emp)session.get(Emp.class, 7369);

load//通过对象标示获取对象

//通过load()方法返回的是Object类型,需要进行强制转换//第一个参数为class,第二个参数为数据主键    e = (Emp)session.load(Emp.class, 7369);//get和load区别//1、如果get查询查询没有结果返回null//2、如果load查询查询没有结果直接抛出异常//3get不支持延迟加载//4load支持延迟加载

update//把持久化的对象更新到数据库

//注意需要设置主键        e.setEmpno(2222);        e.setEname("王五");        session.update(e);

saveorupdate//保存或者更新

e.setEmpno(2222);e.setEname("王五");session.saveOrUpdate(e);//此方法先查询,不存在则save,存在则update

delete//删除对象

session.delete(new Emp(2222));

close//关闭会话

sessin.close();
0 0
原创粉丝点击