zoukankan      html  css  js  c++  java
  • Hibernate第一个程序

    搭建Hibernate环境

      1.新建java项目

        2.导入相关jar包(jar包在上一篇中可以下载到)

        3.加入数据库的jar包(我这里使用的mysql-connector-java-5.1.25

        4.编写配置文件 hibernate.cfg. xml, *.hbm.xml

        hibernate.cfg. xml在hibernate资源包中有相关模版可以直接复制hibernate-release-4.3.11.Finalprojectetchibernate.cfg.xml放在src下并且修改。

      5.配置数据库连接信息

      6.在数据库创建相应的表。

      7.在java中创建表对应的pojo类,与表字段一一对应。

      8.编写*.hbm.xml配置文件,放在pojo类所在包下,头文件可以在project下查找,也可以拷贝,并且将映射关系加入到hibernate.xml中。

      

      9.测试配置.

        1).新建Configuration对象

          Configuration用于管理读取配置文件,加载配置和解析配置文件,创建SessionFactory,在一个应用中最好是单例的。

          Configuration cfg = new Configuration().configure(); --在源码中configure方法读取的是hibernate.cfg.xml文件,所以我们加入的配置文件名称要默认为hibernate.cfg.xml

             在其源码中还重载了configure方法在其中可以输入一个字符串,表示文件的名称,这里我们可以自定义hibernate.cfg.xml的文件名。

             还有一种可编程式的创建方式,但不推荐使用,在此不多做说明。

        2).通过Configuration创建SessionFactory对象

          SessionFactory对象:是一个session工厂。是一个重量级对象。在一个应用中最好是单例的。是线程安全的。属于进程级别的对象。在集群范围内也可以使用。

          ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
                SessionFactory sf = cfg.buildSessionFactory(registry);

        3).通过SessionFactory得到Session

          Session对象:使用hibernate进行数据库操作主要使用Session。Session可以理解为对Connection对象的一个包装。Session对象中封装了对数据库CRUD操作的方法。Session是一个线程不安全的对象。生命周期非常短暂。一般和事务一一对应。session又成为hibernate中的一级缓存。Session又是Transaction对象的工厂.

          Session session = sf.openSession();

        4).通过Session对象得到Transaction对象

          Transaction对象:事务管理对象。通过session来获取到该对象。包括了事务的开启,事务的提交,事务的回滚。

          //方法一
              Transaction tx = session.beginTransaction();
              //方法二
              Transaction t = session.getTransaction();

          t.begin();

        5).保存数据

          User user = new User();
              user.setName("张三疯");
              user.setPwd("1111");
              session.save(user);

        6).提交事务

          tx.commit();

        7).关闭session

          session.close();

     

      10.数据库加入数据即为成功。

    注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!

  • 相关阅读:
    C# List 查找重复项 Distinct()方法
    AE单词备忘
    UML建模—EA创建Use Case(用例图)
    UML之用例图
    是时候改变你的开发方式了-XAF信息系统快速框架介绍
    教你5分钟做个手机APP[视频]
    教你5分钟做个手机APP[视频]
    在.NET 框架中使用 C# 8 和可空引用类型
    C# 9 提案:模块初始化器
    How to: Filter a Report Parameter's Lookup 如何:筛选报表参数的查找
  • 原文地址:https://www.cnblogs.com/wuyx/p/7905323.html
Copyright © 2011-2022 走看看