• Hibernate基础知识


    Hibernate基础知识

    一、基本概念  

       Hibernate是一种ORM框架。(ORM——Object Relationship Mapping 对象关系映射)
          Hibernate的工程:Java、web。

    二、Hibernate的功能原理     

       结构:
                pojo类
                |映射(xml文件---注解)
               表
                |
              Hibernate API
                |翻译
                JDBC
                |操作
              DB

    三、Hibernate环境的搭建   

      1,核心配置文件
              hibernate.cfg.xml(一般不会更改该文件的名字)
        2,jar文件
            手动把需要的配置文件和jar包拷贝到工程中。(通常创建个hbn_lib的library)   
    四、hibernate.cfg.xml文件的相关说明
    1、hibernate.cfg.xml常用标签:
        a)、<session-factory>:配置数据源信息
            b)、<property>:配置hibernate的属性
                      该标签的name属性代表不一样的意思
                  name="dialect",数据库方言,区分数据库
            c)、<mapping resource="com/hibernate/Account.hbm.xml" />
                      引入映射文件(hbn.xml):包路径/文件名
    2、示例
        <hibernate-configuration>
            <session-factory>
                <property name="dialect">
                    org.hibernate.dialect.MySQLDialect
                </property>
                <property name="connection.url">
                    jdbc:mysql://localhost:3306/hbn
                </property>
                <property name="connection.username">root</property>
                <property name="connection.password">123456</property>
                <property name="connection.driver_class">
                    com.mysql.jdbc.Driver
                </property>    
                <mapping resource="com/hibernate/day02/one2one/Account.hbm.xml" />
                <mapping resource="com/hibernate/day02/one2one/Address.hbm.xml" />
            </session-factory>
        </hibernate-configuration>
    五、Hibernate使用步骤
        在环境搭建好后,接着进行使用Hibernate了。
        1、设计数据库表
        2、根据数据库表字段创建pojo类
        a).pojo类的属性必须与数据库中的字段对应。
        b).pojo中要包含pojo类的无参构造函数
        c).pojo中包含的有参构造函数的参数列表不用包含数据库中的主键和外键字段对应的属性。
        d).包含所有属性的get/set方法
        3、配置hbn.xml文件
        略。
        4、在hibernate.cfg.xml中引入hbn.xml文件
        5、APP的调用方法
        Session s = HibernateSessionFactory.getSession();
        Transaction tr = s.beginTransaction();
        ........
        tr.commit();
        s.close();
    六、单一实体映射
        只有一个表,没有关系
        表:用户
        pojo:User
        映射文件:pojo类名.hbm.xml
        注意:
          表必须要有主键
          实体类必须有id属性
             必须要有无参构造
         必须要有set、get方法
       映射文件:
         <class name="pojo" table="表">
           <id name="pojo类的属性名" column="表的字段名"></id> -- 配置id的生成策略(告诉数据库如何产生id字段的值)
              如果属性名和字段名一样,可以省略column不写
            id字段要使用<id>标签来映射,除此以外
        其他字段都是用<property>来映射,属性基本相同
    七、Hibernate应用程序开发
       1,加载配置文件
       2,创建SessionFactory对象
       3,创建Session对象
       4,打开事务
             查询操作可以不用事务
       5,操作数据库
           利用session提供的方法
           Hibernate操作数据库,都是操作对象
       6,事务的提交/回滚
       7,释放资源
           先打开的,后释放
           先释放session,在释放factory
    八、id生成策略
      1,自增
       increment -- MySQL
          表中id字段要有auto_increment
       identity -- SQLServer
       sequence -- Oracle
          必须要有序列(先创建序列)
      2,native
         自增:根据底层数据库,自动选择自增方式
      3,hilo
          高低位算法
          初始化一个值:记录在某一个表中
      4,uuid
         id的类型必须是字符串



  • 相关阅读:
    MySQL主从复制与读写分离
    使用PHPCMS搭建wap手机网站
    phpcms v9不用下插件自己做留言板
    css关于banner图轮播的实现
    MySql和Oracle的日期转换到底有哪些不同?我们来比较一下
    CSS---解决内容过多就会出文本溢出(显示在区域外面,不换行的情况)
    dedecms 后台发布后的文章不能编辑出现一片空白的解决办法
    python常识系列11-->python发送邮件基础
    python常识系列10-->python代码注释规范
    python常识系列09-->logging模块之handlers的使用
  • 原文地址:https://www.cnblogs.com/liuzhenyou/p/4664178.html
Copyright © 2020-2023  润新知