欢迎来到天天文库
浏览记录
ID:40846065
大小:282.96 KB
页数:16页
时间:2019-08-08
《Hibernate入门课程-编程练习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Hibernate实践(2)JavaEE分布式开发实践内容使用PowerDesigner进行数据库设计Hibernate的数据库连接池配置(C3P0)Hibernate的二级缓存配置(EhCache)Hibernate使用大二进制字段(BLOB/CLOB)补充:软件配置管理(SCM)与版本管理软件SubversionPowerDesigner的数据库设计创建概念数据模型(CDM)创建物理数据模型(PDM)由PDM生成SQL语句通过JDBC连接进行MySql数据库反向工程要设置JAVA_HOME,PATH可以只选择指定的表数据库连接池的Hibernate配置
2、—概述Hibernate自带的连接池算法相当不成熟。它只是为了让你快些上手,并不适合用于产品系统或性能测试中。出于最佳性能和稳定性考虑你应该使用第三方的连接池。只需要用特定连接池的设置替换hibernate.connection.pool_size即可。这将关闭Hibernate自带的连接池。C3P0是一个随Hibernate一同分发的开源的JDBC连接池,它位于lib目录下。如果你设置了hibernate.c3p0.*相关的属性,Hibernate将使用C3P0ConnectionProvider来缓存JDBC连接。使用数据库连接池前后的测试性能对比关闭
3、Hibernate默认连接池:hibernate.connection.pool_size0使用Hibernate的C3P0数据库连接池:hibernate.c3p0.max_size30hibernate.c3p0.min_size5hibernate.c3p0.timeout300hibernate.c3p0.max_statements50hibernate.c3p0.idle_test_period3000数据库连接池测试用Java代码(demo)Configurationcf=newConfiguration().configure();
4、SessionFactorysf=cf.buildSessionFactory();Sessionsession=sf.openSession();longt1=System.currentTimeMillis();for(inti=0;i<1000;i++){Transactiontx=session.beginTransaction();session.createQuery("fromBookwhereid=1");Bookb1=newBook();b1.setName("test3");b1.setPublisher("publisher1");s
5、ession.save(b1);session.delete(b1);tx.commit();}longt2=System.currentTimeMillis();System.out.println("Totaltime="+(t2-t1)+"ms");EhCache简介1.EhCache是什么EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力;2.EhCache的使用注意点当用Hibernate的方式修改表数据(save,update,delete等等),
6、这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于数据经常修改的表来说,可能就失去缓存的意义了(不能减轻数据库压力);3.EhCache使用的场合3.1比较少更新表数据EhCache一般要使用在比较少执行write操作的表(包括update,insert,delete等)[Hibernate的二级缓存也都是这样];3.2对并发要求不是很严格的情况两台机子中的缓存是不能实时同步的Hibernate.cfg.xml配置Book.hbm.xml配置7、/>创建EhCache.xmlEhCache的配置EhCache.xml实例8、nds="120"/>
7、/>创建EhCache.xmlEhCache的配置EhCache.xml实例8、nds="120"/>
8、nds="120"/>
此文档下载收益归作者所有