• HIbernate入门


    简介:

      Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

    第一步:环境搭建  

    1.下载jar包

      Hibernate的官方网站是http://hibernate.org,Hibernate的jar包都可以从官方网站下载得到。

    2.部署jar包

      将下载好的jar包部署到自己的项目中。

      

    3.创建Hibernate配置文件hibernate.cfg.xml。

      在项目的src目录下添加Hibernate配置文件。

    配置文件示例::

    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
    
        <session-factory>
    
            < !--数据库连接设置-->
         < !--数据库JDBC驱动设置-->
    <property name="connection.driver_class" >org.hsqldb.jdbcDriver</property>
      
        < !--数据库url-->
    <property name="connection.url" >jdbc:hsqldb:hsql://localhost</property>
        < !--数据库用户名-->
    <property name="connection.username" >sa</property>
        < !--数据库用户密码-->
    <property name="connection.password" ></property> < !--JDBC连接池(使用内置的)--> <property name="connection.pool_size" >1</property> < !--SQL方言--> <property name="dialect" >org.hibernate.dialect.HSQLDialect</property> < !--使Hibernate自动会话上下文管理--> <property name="current_session_context_class" >thread</property> <!--关闭二级缓存--> <property name="cache.provider_class" >org.hibernate.cache.NoCacheProvider</property> <!-- 是否将运行期间生成的sql输出到日志以供调试--> <property name="show_sql" >true</property> < !--在启动时,删除和重新创建数据表结构--> <property name="hbm2ddl.auto" >update</property>     
    </hibernate-configuration >

    4.创建持久化类和映射文件

      持久化类是指其实例状态需要被Hibernate持久化到数据库中的类,在应用程序设计中,持久化类通常对于需求中的业务实体类。

     映射文件一般命名:类名.hbm.xml

     映射文件配置示例:

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
    <hibernate-mapping package="org.hibernate.tutorial.domain">
    
        <class name="Event" table="EVENTS">
            <id name="id" column="EVENT_ID">
                <generator class="native"/>
            </id>
            <property name="date" type="timestamp" column="EVENT_DATE"/>
            <property name="title"/>
        </class>
    
    </hibernate-mapping
    >

    Event为持久化类的类

    table为持久化类对应的数据库表名

    id:表示持久化类的id和表的主键的映射。

    其中 name为持久化类的属性名,column为数据库表中对应的列名 

    property 节点定义持久化类中属性和数据库中字段的对应关系

    5.在hibernate.cfg.xml文件中进行映射文件配置

    示例

     <mapping resource="cn/lhl/entity/User.hbm.xml"/>

    resource 为映射文件的全路径

    第二部,使用Hibernate完成持久化操作       //读取并解析配置文件    

     //读取并解析配置文件
            Configuration configuration=new Configuration().configure();
            //创建session工厂对象
            SessionFactory sf=configuration.buildSessionFactory();
            //打开sessionn
            Session session= sf.openSession();
            //开始事务(怎删改操作必须,查询可选)
            Transaction ts= session.beginTransaction();
            //数据库操作
            //修改
    //        User user= session.get(User.class,3);
    //        user.setName("wwwww");
    //        session.update(user);
            //添加
    //        User user =new User();
    //        user.setName("1");
    //        user.setPwd("a");
    //        session.save(user);
            //删除
    //        User user=new User();
    //        user.setId(2);
    //        session.delete(user);
            //查询
    //        User user= session.get(User.class,3);
    //        System.out.println(user.getName());
            //提交事务
            ts.commit();
            //关闭session
            session.close();
  • 相关阅读:
    SAP C4C基于自定义BO开发的OWL UI,如何实现动态访问控制
    如何将SAP C4C自定义BO中类型为图片的附件用PDF文档显示出来
    如何使用SAP Cloud Application Studio创建一个PDF form
    如何让SAP C4C自定义BO实现附件上传的功能
    分盘存储:实现数据库备集群备份文件分散存储
    智能对联模型太难完成?华为云ModelArts助你实现!手把手教学
    五种C语言非数值计算的常用经典排序算法
    软件教练说:性能优化与性能设计,“相亲相爱”的一对
    两种端到端通用目标检测方法
    架构解读丨Volcano作业资源预留设计原理
  • 原文地址:https://www.cnblogs.com/www-datou-com/p/6264908.html
Copyright © 2020-2023  润新知