Hibernate4.3.5入门HelloWorld

本文给出一个简单的Hibernate4.3.5入门实例,配置方式采用XML文件方式(这种方式已经不是主流了,目前越来越多采用Annotation方式映射POJO实体)

代码结构如下图所示:主要用到hibernate-release-4.3.5.Final\lib\required下的jar

 在这里只展示出主要的代码

1、HibernateUtil.java

 1 package com.wangp.hibernate.helper;
 2 
 3 import org.hibernate.SessionFactory;
 4 import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
 5 import org.hibernate.cfg.Configuration;
 6 import org.hibernate.service.ServiceRegistry;
 7 
 8 public class HibernateUtil {
 9 
10     private static final SessionFactory sessionFactory = buildSessionFactory();
11 
12     private static SessionFactory buildSessionFactory() {
13         try {
14             Configuration configuration = new Configuration();
15             configuration.configure();
16             ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
17             SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
18             return sessionFactory;
19         }
20         catch (Throwable ex) {
21             System.err.println("buildSessionFactory() error:" + ex);
22             throw new ExceptionInInitializerError(ex);
23         }
24     }
25 
26     public static SessionFactory getSessionFactory() {
27         return sessionFactory;
28     }
29 
30 }

 

2、测试类

 1 import org.hibernate.HibernateException;
 2 import org.hibernate.Session;
 3 
 4 import com.wangp.hibernate.helper.HibernateUtil;
 5 import com.wangp.hibernate.model.Hibernate;
 6 
 7 public class HibernateTest {
 8     public static void main(String[] args) {
 9         try {
10             //实例化POJO类
11             Hibernate h = new Hibernate();
12             h.setDriverName("oracle.jdbc.OracleDriver");
13             h.setId("1");
14             h.setUrl("jdbc:oracle:thin:@localhost:1521@orcl");
15             //获取Session
16             Session session = HibernateUtil.getSessionFactory().openSession();
17             session.beginTransaction();
18             //curd操作
19             session.save(h);
20             session.getTransaction().commit();
21         } catch (HibernateException e) {
22             e.printStackTrace();
23         }
24     }
25 }

从开发的角度简单的谈谈 hibernate的优缺点

优点:

1、通过hibernate来建立DB与实体之间的联系,对于简单的表操作不需要再去拼写SQL语句,减少了重复的工作量。

2、hibernate去除了app与DB之间的直接耦合关系,使得app的移植性得到增强

缺点:

1、对于SQL新手来讲,在没有接触、处理过复杂的SQL的情况下使用hibernate开发app,即使能够在控制台打出sql,开发调试依然还是比较艰难的事情。

Hibernate4.3.5入门HelloWorld,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。