zoukankan      html  css  js  c++  java
  • 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控制管理的

  • 相关阅读:
    Filecoin:一种去中心化的存储网络(二)
    Filecoin:一种去中心化的存储网络(一)
    HTTP
    数据结构中的查找
    剑指offer-高质量的代码
    C++中STL容器的比较
    PBFT算法的相关问题
    springmvc最全约束
    springmvc入门(一)
    spring入门(一)
  • 原文地址:https://www.cnblogs.com/zhaotiancheng/p/6511619.html
Copyright © 2011-2022 走看看