首页 > 代码库 > Hibernate4.3.5入门HelloWorld
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 //获取Session16 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,开发调试依然还是比较艰难的事情。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。