• Hibernate4.3.5入门HelloWorld


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

    代码结构如下图所示:主要用到hibernate-release-4.3.5.Finallib equired下的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,开发调试依然还是比较艰难的事情。

  • 相关阅读:
    复制网页的按钮
    网站需要显示在线访问人数
    文章内容分页功能实现
    重构下拉菜单(DropDownList)与数据源(DataSource)
    使用RenderControl方法实现动态加载用户控件
    BusinessFrameWork Version2
    根据值(value)获取泛型Dictionary的键(key)
    RadioButtonList控件绑定图片Vertical对齐
    CGI和BOA使用期间遇到的问题汇总(转)
    CGI编程学习2 简单练习
  • 原文地址:https://www.cnblogs.com/foreverngu/p/3866860.html
Copyright © 2020-2023  润新知