Hibernate入门笔记_01_hibernate配置

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

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

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

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

   1、 创建映射配置文件(文件名称跟位置不限): 编程

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

       

<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 app

     

    <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>

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

 4、在hibernate 向数据库写入数据的时候会发生乱码的状况下做以下处理: url

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

相关文章
相关标签/搜索