hibernate基本配置优化

前面已经说过hibernate的基本配置了,现在对之前的基本配置进行代码优化;

写一个读取配置工具

 1 package tool;
 2
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.cfg.Configuration;
 6 //configuration的工具
 7 public final class HibernateUtil {
 8     private static SessionFactory sessionFactory;
 9     private HibernateUtil(){
10
11     }
12     public static SessionFactory getSessionFactory() {
13         return sessionFactory;
14     }
15     static{
16         Configuration cfg = new Configuration().configure();
17         sessionFactory=cfg.buildSessionFactory();
18     }
19     public static Session getSession()
20     {
21         return sessionFactory.openSession();
22     }
23
24 }

在测试类中写一个添加数据和获取数据方法

 1 // 获取数据
 2     static Admin getAdmin(int id) {
 3         Session session = null;
 4         try {
 5             session = HibernateUtil.getSession();
 6             Admin admin = session.get(Admin.class, id);
 7             return admin;
 8         } finally {
 9             if (session != null)
10                 session.close();
11         }
12     }
13
14     // 添加数据
15     static void addAdmin(Admin admin) {
16         Session session = null;
17         Transaction tx = null;
18         try {
19             session = HibernateUtil.getSession();
20             tx = session.beginTransaction();
21             session.save(admin);
22             tx.commit();
23         } finally {
24             if (session != null)
25                 session.close();
26         }
27     }

剩下的直接调用就行了

 1 public static void main(String[] args) {
 2         // 创建进行持久化对象
 3 //        Admin admin = new Admin();
 4 //        admin.setUserId(6);
 5 //        admin.setUserName("李四");
 6 //        admin.setUserPwd("456");
 7 //        addAdmin(admin);
 8         Admin admin1 = getAdmin(1);
 9         System.out.println("name["+admin1.getUserName()+"],password["+admin1.getUserPwd()+"]");
10     }
时间: 2024-11-02 10:01:51

hibernate基本配置优化的相关文章

hibernate之性能优化

hibernate是建立在JDBC基础上的框架,但他有很多JDBC所无法比拟的性能优化技术.下面介绍几种优化策略. 1.使用dynamic-insert与dynamic-update 在class标签中使用该属性,可以设置hibernate动态的生成SQL语句,而不是在hibernate启动时就生成预设的SQL语句. 当其设置为true时,hibernate会根据实际需求设置新增或更新的字段,而不是所有的字段. <class name="com.hibernate.book" t

【转】Spring+Hibernate+EHcache配置(一)

大量数据流动是web应用性能问题常见的原因,而缓存被广泛的用于优化数据库应用.cache被设计为通过保存从数据库里load的数据来减少应用和数据库之间的数据流动.数据库访问只有当检索的数据不在cache里可用时才必要.hibernate可以用两种不同的对象缓存:first-level cache 和 second-level cache.first-level cache和Session对象关联,而second-level cache是和Session Factory对象关联.        

Hibernate常用配置

hibernate.show_sql:是否把Hibernate运行时的SQL语句输出到控制台,以便编码阶段用来测试. hibernate.format_sql:输出到控制台的SQL语句是否进行排版,便于阅读.建议设置为ture. hbm2ddl.auto:可以帮助由java代码生成数据库脚本,进而生成具体的表结构.create|update|create-drop|validate hibernate.default_schema:默认的数据库 hibernate.dialect:配置Hiber

t3用户-角色-权限hibernate经典配置

[java] view plain copy print? 用户-角色-权限hibernate经典配置. [java] view plain copy print? 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学习交流. [java] view plain copy print? [java] view plain copy print? 首先是三个实体类: [java] view pla

Kafka server部署配置优化

Kafka配置优化其实都是修改server.properties文件中参数值 1.网络和io操作线程配置优化 # broker处理消息的最大线程数        num.network.threads=xxx    #  broker处理磁盘IO的线程数        num.io.threads=xxx 建议配置: 一般num.network.threads主要处理网络io,读写缓冲区数据,基本没有io等待,配置线程数量为cpu核数加1. num.io.threads主要进行磁盘io操作,高峰

Tomcat配置优化

TOMCAT配置优化一. Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式,按天存放,解决catalina.out日志文件过大问题1.准备jar包:log4j-1.2.16.jar , tomcat-juli.jar, tomcat-juli-adapters.jar 注意:tomcat-juli.jar, tomcat-juli-adapters.jar 需要根据不同tomcat的版本去相应下载(从http://archive.apache.org/dist/to

[JavaWeb基础] 005.Hibernate的配置和简单使用

1.Hibernate简介 Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装.采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库,并且把数据库返回的结果封装成对象.内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API.以对象的形式操作数据,提高开发效率,不用关心数据库种类(换数据库只要修改配值文件). 2.在MyEclipse上创建一个DB broswer 这个东西你可以从Window -> Show

Hibernate在配置表映射文件时cascade的类型及意义

当关联双方存在父子关系,就可以在 set 处设定 cascade 为 all-delete-orphan 所谓父子关系,即指由父方控制子方的持久化圣明周期,子方对象必须和一个父方对象关联.如果删除父方对象,应该级联删除所有关联的子方对象:如果一个子方对象不再和一个父方对象关联,应该把这个子方对象删除. all-deleteorphan 的能力: 1. 当保存或更新父方对象时,级联保存或更新所有关联的子方对象,相当于 cascade 为 save-update 2. 当删除父方对象时,级联删除所有

Spring+Hibernate整合配置 --- 比较完整的spring、hibernate 配置

Spring+Hibernate整合配置 分类: J2EE2010-11-25 17:21 16667人阅读 评论(1) 收藏 举报 springhibernateclassactionservletmysql 在公司一直没有什么机会直接折腾SSH“原生态”的SSH当今比较流行的轻量级的框架,用着公司的框架也是郁闷异常,今天没事整整原来用过的一个项目的配置,发现就算是自己曾经用过的东西,如果较长时间不返过去重新学习,许多你半熟不熟的知识就是异常陌生.下面贴上我的一些配置,暂且权当备份吧. web