hibernate 框架搭建

Posted 赵天成123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate 框架搭建相关的知识,希望对你有一定的参考价值。

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

 

一、环境搭建:(将jar包导入项目lib文件夹下)

导入hibernate的jar包:lib/required文件夹下的所有jar包  

导入jdbc的jar包

 

二、配置hibernate   (建立hibernate.cfg.xml文件)

在project文件夹中搜索cfg.xml文件,里面找到带username,password,jdbc的来改

每个配置的值,在project/etc找到hibernate.properrties文件找

<!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>
        <property name="hibernate.dialect">org.hibernate.dialect.mysqlDialect</property>     <!--数据库方言 ,在project/etc找到hibernate.properrties文件,找到数据库对应的方言 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>    <!-- 驱动 -->
        <property name="hibernate.connection.username">root</property>                        <!-- 数据库账号 -->
        <property name="hibernate.connection.password"></property>                            <!-- 数据库密码 -->
        <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/mydb</property><!-- 数据库链接 -->
          <property name="show_sql">true</property>    <!--在控制台打印出sql语句 true为打印,flase为不打印 -->
      
      <mapping resource="com/maya/model/family.hbm.xml"/>        <!-- mapping 映射加载   用/隔开,不是用.隔开 -->
    </session-factory>
</hibernate-configuration>

 

三、准备数据库

四、准备实体类(get  set)

 

五、准备映射文件(文件名.hbm.xml     文件名对应着实体类的名)

在project文件夹中搜索hbm.xml文件,复制到与实体类相同的包内,实体类对应着映射文件,hibernate的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 default-lazy="false" package="com.maya.model">

    <class name="Family" table="family">        <!-- 实体类 对应的哪个表 -->
        <id name="ids">                  <!-- id代表的是主键列      type 、column 如果实体类和数据库表中的数据类型一样  可以省略 -->  
            <generator class="assigned"/>        <!-- 主键列如何产生的assigned 非自增长,赋值   native自增长-->
        </id>
        <property name="infoCode"/>                <!-- property代表非主键列 -->
        <property name="name"/>
        <property name="title"/>
        <property name="firm"/>
        <property name="orders"/>
    </class>
</hibernate-mapping>

 六、测试配置是否正确

package com.maya.test;
import org.hibernate.*;
import org.hibernate.cfg.*;    //org.hibernate.cfg.Configuration;需要的是这个包
public class Test {

    public static void main(String[] args) {
        //读取hibernate.cfg.xml文件的配置,加载Hibernate的类库
        Configuration config=new Configuration().configure();//自动找到hibernate.cfg.xml   读取出里面的配置
        SessionFactory factory=config.buildSessionFactory();    //factory意思是工厂
        Session session=factory.openSession();                    //打开一个session
        //利用session 对数据库进行CRUD操作(增删改查)
    //    session.save(arg0) 保存      update(arg0) 更新   createQuery(arg0) 查询  delete(arg0)删除
        
        System.out.print(session.isConnected());    //测试一下是否能够链接数据库
        session.close();
    }
}

注意:这里的Session 和web中的session不一样 

这里的session是程序与数据库之间的会话,它是由hibernate控制管理的

 

以上是关于hibernate 框架搭建的主要内容,如果未能解决你的问题,请参考以下文章

Spring+Spring MVC+Hibernate框架搭建实例

SSH(Struts2+Spring+Hibernate)框架搭建流程

ssh(sturts2_spring_hibernate) 框架搭建之spring

Hibernate 学习路程之一(Hibernate 环境的搭建)

hibernate02环境的搭建

hibernate02环境的搭建