Hibernate入门笔记_01_hibernate配置

Posted sp1457

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate入门笔记_01_hibernate配置相关的知识,希望对你有一定的参考价值。

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

     Hiberante 很重要的一个思想是ORM  ——(Object Relation Mapping) .顾名思义

     那么HIbernate是怎么实现对数据库建立映射的呢? 

     XML :   通过配置Xml 文件来实现对数据库表建立映射。

   一、 建立映射配置文件(文件名称跟位置不限): 

      引入约束: (DTD or Schema)  这里引入DTD 约束,  约束链接: http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd

       

<hibernate-mapping>
          <!--1 配置类和表对应 
              class 标签
              name 属性  实体类全路径
              table 属性   数据库表名称
           -->
         <class name="com.daxiong.entity.User" table="t_user">
              <!-- 2 配置实体类的id 跟表的id 对应
                     hibernate 要求实体类有一个属性唯一值
                     hibernate  要求表有字段作为唯一值
               -->
               <!-- id 标签
                    name 属性实体类里面id 属性名称
                    column 生成表字段名称
                -->
                <id name="id" column="id">
                   <!-- 生成的增长策略
                     native :生成表自动增长
                    -->
                    <generator class="native"></generator>
                </id>    
                <!-- 配置其他属性和表字段对应 -->
                <property name="username" column="username"></property>
                <property name="password" column="password"></property>
         </class>
    </hibernate-mapping>

 二 、 建立核心配置文件(位置名称限制(在src 文件下,名称为hibernate.cfg.xml)):

     引入约束链接:http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd 

     

    <hibernate-configuration>
         <session-factory>
         <!-- 配置数据库信息 -->
                   <property name="hibernate.connection.driver_class"></property>
                   <property name="hibernate.connection.url"></property>
                   <property name="hibernate.connection.username"></property>
                   <property name="hibernate.connection.password"></property>
                   
                   <!-- hibernate配置    (非必须)-->
                   <!-- 输出底层的sql语句 -->
                   <property name="hibernate.show_sql">true</property>
                   <!-- 对sql语句进行格式化 -->
                   <property name="hibernate.format_sql">true</property>
                   <!-- hibernate配置后自动创建表
                               如果已经有表更新 没有创建
                    -->
                   <property name="hibernate.hbm2ddl.auto">update</property>
                   <!-- 配置数据库方言
                           在 mysql 里实现分页关键字limit 只能在MySQL中使用
                            在Oracle中 实现分页rownum
                            在hibernate 中识别不同数据的特有语言
                    -->
                   <property name="hibernate.dialec">org.hibernate.dialect.MckoiDialect</property>
                   <!-- 引入映射文件 -->
                   <mapping resource="com/daxiong/entity/Userhtb.xml" />
         </session-factory>
    </hibernate-configuration>

  注意引入映射文件的路径。

 四、在hibernate 向数据库写入数据的时候会发生乱码的情况下作如下处理: 

    jdbc:mysql:///hibernate?useUnicode=true&amp;characterEncoding=utf-8

        

 

以上是关于Hibernate入门笔记_01_hibernate配置的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate入门笔记_01_hibernate配置

linux笔记_第一天_开课介绍vmvare的使用入门(01)_recv

MySQL笔记01: MySQL入门_1.3 MySQL启动停止与登录

MySQL笔记01: MySQL入门_1.1 MySQL概述

读数据压缩入门笔记01_数据压缩导读

Hibernate入门_增删改查