zoukankan      html  css  js  c++  java
  • 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,开发调试依然还是比较艰难的事情。

  • 相关阅读:
    HTTP协议超级详解
    css面试题(一)
    win10开机启动项管理
    Notion快捷键
    [C++]std::sort()函数使用总结
    配置环境变量时java命令可以使用,javac不能使用
    安卓4:修改系统默认颜色
    vue 安装sass-loader 提示python等
    vue echarts 柱状图 变色 显示
    k8s-生产环境部署django项目k8s-dashboard管理系统
  • 原文地址:https://www.cnblogs.com/foreverngu/p/3866860.html
Copyright © 2011-2022 走看看