分享web开发知识

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

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

Hibernate搭建

发布时间:2023-09-06 02:24责任编辑:彭小芳关键词:Hibernate

第一步 导入hibernate的jar包

  首先导入lib目录下required目录中的所有包

  

  再导入jpa目录下的

  

  

  因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar包

不要忘记还有mysql驱动的jar包

  

第二步 :创建实体类

  

 1 public class User { 2 ?????3 ????private String uid; 4 ????private String username; 5 ????private String password; 6 ????private String addres; 7 ?????8 ????public String getUid() { 9 ????????return uid;10 ????}11 ????public void setUid(String uid) {12 ????????this.uid = uid;13 ????}14 ????public String getUsername() {15 ????????return username;16 ????}17 ????public void setUsername(String username) {18 ????????this.username = username;19 ????}20 ????public String getPassword() {21 ????????return password;22 ????}23 ????public void setPassword(String password) {24 ????????this.password = password;25 ????}26 ????public String getAddres() {27 ????????return addres;28 ????}29 ????public void setAddres(String addres) {30 ????????this.addres = addres;31 ????}32 }

  ps:使用hibernate时候,不需要自己手动创建表,hibernate帮把表创建

第三步:配置实体类和数据库表一一对应关系(映射关系)

   

  使用配置文件实现映射关系

  (1)创建xml格式的配置文件

    - 映射配置文件名称和位置没有固定要求

    - 建议:在实体类所在包里面创建,实体类名称.hbm.xml

  (2)配置是是xml格式,在配置文件中首先引入xml约束

    - 学过约束dtd、schema,在hibernate里面引入的约束dtd约束

  

  映射配置xml文件头为:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC ????"-//Hibernate/Hibernate Mapping DTD 3.0//EN" ???"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

  配置映射关系:

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

第四步 创建hibernate的核心配置文件

  (1)核心配置文件格式xml,但是核心配置文件名称和位置固定的

    - 位置:必须src下面

    - 名称:必须  hibernate.cfg.xml

    

  

  (2)引入dtd约束

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC ???"-//Hibernate/Hibernate Configuration DTD 3.0//EN" ???"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

  

  (3)hibernate操作过程中,只会加载核心配置文件,其他配置文件不会加载

    

    第一部分: 配置数据库信息 必须的

    第二部分: 配置hibernate信息 可选的

    第三部分: 把映射文件放到核心配置文件中

<hibernate-configuration> ???<session-factory> ???????<!-- 第一部分: 配置数据库信息 必须的 --> ???????<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> ???????<property name="hibernate.connection.url">jdbc:mysql:///hibernate</property> ???????<property name="hibernate.connection.username">root</property> ???????<property name="hibernate.connection.password">root</property> ???????????????<!-- 第二部分: 配置hibernate信息 ?可选的--> ???????<!-- 输出底层sql语句 --> ???????<property name="hibernate.show_sql">true</property> ???????<!-- 输出底层sql语句格式 --> ???????<property name="hibernate.format_sql">true</property> ???????<!-- hibernate帮创建表,需要配置之后 ????????????update: 如果已经有表,更新,如果没有,创建 ???????--> ???????<property name="hibernate.hbm2ddl.auto">update</property> ???????<!-- 配置数据库方言 ???????????在mysql里面实现分页 关键字 limit,只能使用mysql里面 ???????????在oracle数据库,实现分页rownum ???????????让hibernate框架识别不同数据库的自己特有的语句 ????????--> ???????<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> ???????????????<!-- 第三部分: 把映射文件放到核心配置文件中 必须的--> ???????<mapping resource="cn/itcast/entity/User.hbm.xml"/> ???</session-factory></hibernate-configuration>

Hibernate搭建

原文地址:https://www.cnblogs.com/kpsmile/p/10036068.html

知识推荐

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