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();
原文地址:https://www.cnblogs.com/www-datou-com/p/6264908.html