• hibernate总结


    hibernate主要用于连接数据,是基于ORM的持久层框架。

    持久层:用于操作数据库。

    ORM(object relation map):对象关系映射。

    hibernate的基本步骤:

    三拷三配:拷JDBC驱动,拷log4j,拷hibernate开发包

         配pojo对象,配映射文件,配总的配置文件。

    注意:在hibernate中时间date统一用util包中的。

    单表操作配置映射文件:

    <hibernate-mapping>
    <!-- 类和表的映射 -->
     <class name="com.pojo.Student" table="student">
     <!-- 字段映射之主键映射 -->
      <id name="sid" column="sid">
       <generator class="native"></generator>
      </id>
      <!-- 其它的字段 -->
      <property name="sname" column="sname"></property>
      <property name="ssex" column="ssex"></property>
     </class>
    </hibernate-mapping>

    七个步骤:

      1.得到总的配置文件

      2.建立session工厂(sessionFactory)

      3.打开session

      4.开启事物

      5.写HQL语句

      6.事物提交/回滚

      7.关闭session

    表:一对多操作

    在主表的pojo中要加一个private Set<字表pojo> tname=new HashSet<字表pojo>();

    在子表的pojo中要加一个private 主表 name,即添加一个主表对象,用于得到主表主键

    在主表映射文件中:

    <hibernate-mapping>
     <class name="com.pojo.Dep" table="dep">
      <id name="did" column="did">
       <generator class="native"></generator>
      </id>
      <property name="dname" column="dname"></property>
      <!-- 级联,主表改变字表也改变 -->
      <set name="emps" cascade="save-update,delete">
       <key column="did"></key>
       <one-to-many class="com.pojo.Emp"></one-to-many>
      </set>
     </class>
    </hibernate-mapping>

    在子表映射文件中:

    <hibernate-mapping>
     <class name="com.pojo.Emp" table="emp">
      <id name="eid" column="eid">
       <generator class="native"></generator>
      </id>
      <property name="ename" column="ename"></property>
      <many-to-one name="dep" column="did"></many-to-one>
     </class>
    </hibernate-mapping>

    表:多对多

    映射文件中应该这样写:

    <hibernate-mapping>
     <class name="com.pojo.Course" table="couser">
      <id name="cid" column="cid">
       <generator class="native"></generator>
      </id>
      <property name="cname" column="cname"></property>
      <set name="students" table="sc" inverse="false">
       <key column="cid"></key>
       <many-to-many class="com.pojo.Student" column="sid"></many-to-many>
      </set>
     </class>
    </hibernate-mapping>

     使用工具代替手工拷包和配置文件

    1.让myclipse连接数据库(切换到视图myeclipse database explore视图)

    2.添加hibernate开发包(切换到myeclpse jre 视图)

    3.生成pojo及映射文件(切换到myeclipse database视图)

    4.测试

    缓存:一级缓存(session):限自己用

         二级缓存(sessionFactory):大家都可以用

         查询缓存

    缓存实为map;一二级缓存就用对象id作为键,查询缓存以HQL语句为键。

  • 相关阅读:
    7. 阿里百秀实战
    静态布局、自适应布局、流式布局、响应式布局、弹性布局等的概念和区别
    3_2:HTTP协议
    3_1:一个浏览器如何工作的
    2.1:JavaScript数据类型
    1.3 列一份前端知识架构图
    银河麒麟V10系统安装
    WINDOWS下查看系统版本详细信息和网络连接详细信息
    银河麒麟查看/更改环境变量
    统信UOS国产化安装tcpdump命令
  • 原文地址:https://www.cnblogs.com/xinxinjava/p/2860448.html
Copyright © 2020-2023  润新知