分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Hibernate入门笔记_01_hibernate配置

发布时间:2023-09-06 01:51责任编辑:苏小强关键词:配置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配置

原文地址:https://www.cnblogs.com/sp1457/p/8953718.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved