欢迎来到天天文库
浏览记录
ID:40078298
大小:376.00 KB
页数:16页
时间:2019-07-20
《使用session进行crud操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用Session进行CRUD使用Hibernate的步骤7、关闭Session6、提交事务5、持久化操作save/update/delete/get4、开始一个事务3、打开Session1、Configuration2、创建SessionFactory执行过程ConfigurationSessionFactorySessionTransaction创建创建开始savedeleteupdategettx.commit()session.close()执行Hibernate.cfg.xmlHouse.cfg.xmlUser.hbm.xml结束创建和销毁都相当耗费资源,
2、通常一个系统内一个数据库只创建一个类似于JDBC中的Connection添删改等持久化操作ConfigurationConfiguration类的主要作用就是从配置文件hibernate.cfg.xml读取配置信息,如数据库的信息、定位映射文件的位置()用法:Configurationcg=newConfiguration().config();SessionFactorySessionFactory的设计使用了工厂模式,用户程序可以从工程类SessionFactory中取得Sessio
3、n的实例。设计者的意图是让它能在整个应用中共享。典型的说,一个项目通常访问一个数据库,只需要一个SessionFactory。用法,通过Configuration实例构建SessionFactory:SessionFactorysf=cg.buildSessionFactory();SessionFactory的创建和销毁都较耗费系统资源SessionSession是持久层操作的基础,相当于JDBC中的Connection。使用Session对象可以进行数据的CRUD操作。Session对象由工厂类SessionFactory创建:Sessionsession=sf
4、.openSession();Session可以看作是持久化对象的缓冲区,Hibernate能检测到Session对象中的持久化对象的改变,并刷新到数据库。代码优化编写HibernateUtil类,将一些初始化工作(读配置信息、创建SessionFactory、获取Session等)包装起来,在做持久化操作前调用工具类的获取Session对象方法即可。注意处理异常。在finally{}块中关闭Session。使用Session进行CRUD操作添加(保存)数据:Session的save(object)方法。该方法可以将对象的属性放到PreparedStatement中
5、,然后执行insert语句。简单查询:Session的get()或load()方法,根据给定的OID从数据库中加载一个持久化对象。删除数据:Session的delete(object)方法。该方法可以从数据库中删除一个对象对应的数据。修改数据:Session的update(object)方法。当对一个对象执行update()操作时,如果数据库中不存在这个对象对应的记录,则将抛出异常。在控制台显示执行的SQL语句:true对象的状态瞬时状态:数据库中无记录,与session也无关,比如刚new出来
6、。持久状态:数据库中有对应记录,与session相关。此状态下,对象的变化Hibernate可以检测到。比如:在save()之后更新了user的属性,然后才commit(),save()之后所做的修改也能更新到数据库中。脱管状态:数据库中有对应记录,但与session无关。比如session已关闭,此时user的改变不会影响到数据库。对象状态userusersession瞬时持久user脱管save()commit()session.close()
此文档下载收益归作者所有