1、下载Hibernate

去官网下载Hibernate,解压缩之后如图:

其中,在lib/required目录下,包含运行Hibernate项目必须的jar包有:


2、创建案例数据库与数据表

create database hibernate;
use hibernate;
##新建表
CREATE TABLE `user` (`user_id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(20) DEFAULT NULL,`password` varchar(20) DEFAULT NULL,PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3、新建项目,搭建Hibernate项目环境

新建web项目,hibernate_demo

先导入hibernate所需jar,lib/required目录下的所有jar包:

再导入mysql数据库驱动jar包:

再导入相关日志jar包:


4、创建实体类User

新建包com.oak.entity

public class User {private Integer userId;private String username;private String password;//getter setter方法略
}

5、Hibernate相关配置文件

Hibernate的相关配置文件分为两种:

  1. hibernate.cfg.xml:它是Hibernate框架的核心配置文件。
  2. xxx.hbm.xml:它主要是用于描述类与数据库中的表的映射关系。

5.1 hibernate.cfg.xml核心配置文件

核心配置文件主要是Hibernate框架所使用的,它主要包含了连接数据库的相关信息和Hibernate的相关配置等
要求:核心配置文件应在src目录下,并且名称应是hibernate.cfg.xml
约束:可以在Hibernate的核心jar包——hibernate-core-5.0.7.Final.jar的org.hibernate包下查找到hibernate-configuration-3.0.dtd文件,打开该文件,找到如下内容:

<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.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">
<hibernate-configuration><session-factory><!-- 配置关于数据库连接的四个项:driverClass  url username password --><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">123456</property><!-- 可以将向数据库发送的SQL语句显示出来 --><property name="hibernate.show_sql">true</property><!-- 格式化SQL语句 --><property name="hibernate.format_sql">true</property><!-- hibernate的方言 :根据配置的方言生成相应的SQL语句--><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- none:不用Hibernate自动生成表create:每次都会创建一个新的表(测试)create-drop:每次都会创建一个新的表,执行程序结束后删除这个表(测试)update:如果数据库中有表,使用原来的表,如果没有表,创建一个新表,可以更新表结构validate:只会使用原来的表,对映射关系进行校验--><property name="hibernate.hbm2ddl.auto">update</property><!-- 配置hibernate的映射文件所在的位置 -加载映射--><!-- <mapping package="..."/> --></session-factory>
</hibernate-configuration>

5.2 xxx.hbm.xml映射配置文件

要求:映射配置文件应与实体类在同一个包下,并且名称为”类名.hbm.xml”,所以我们要在com.iswoak.pojo下新建一个Customer.hbm.xml映射文件
约束:可以在Hibernate的核心jar包——hibernate-core-5.0.7.Final.jar的org.hibernate包下查找到hibernate-mapping-3.0.dtd文件,打开该文件,找到如下内容:

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

这里给出模板

<?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 package="com.oak.entity"><!-- name:即实体类的全名table:映射到数据库里面的那个表的名称catalog:数据库的名称--><class name="User" table="t_user" catalog="hibernate"><!-- class下必须要有一个id的子元素 --><!-- id是用于描述主键的 --><id name="userId" column="user_id"><!-- 主键生成策略 --><generator class="native"></generator></id><!-- 使用property来描述属性与字段的对应关系如果length忽略不写,且你的表是自动创建这种方案,那么length的默认长度是255--><property name="username" column="username" length="20"></property><property name="password" column="password" length="20"></property></class>
</hibernate-mapping>

在核心配置文件中添加映射文件的加载

     <mapping resource="com/oak/entity/User.hbm.xml"/>

5、测试

public class UserTest {@Testpublic void testSave(){//创建一个User对象User user=new User();user.setUsername("admin");user.setPassword("123");//使用Hibernate的API来完成将Customer信息保存到mysql数据库中的操作Configuration config=new Configuration().configure();SessionFactory sessionFactory=config.buildSessionFactory();Session session=sessionFactory.openSession();//开启事务session.beginTransaction();//操作session.save(user);//事务提交session.getTransaction().commit();session.close();sessionFactory.close();}
}

运行结果:

Hibernate入门案例相关推荐

  1. Hibernate入门案例及增删改查

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student {private Integer sid;private Int ...

  2. 杨老师课堂之JavaEE三大框架Hibernate入门第一课

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kese7952/article/details/80998421 本篇任务 1. 使用Hiberna ...

  3. Hibernate入门这一篇就够了

    前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate框架? Hibernate是一种ORM框架,全 ...

  4. Hibernate——入门

    Hibernate是什么? Hibernate是一个框架(framework): Hibernate是一个ORM框架(Object Relation Mapping,对象关系映射): Hibernat ...

  5. 【Quarkus】像子弹一样飞的启动速度之入门案例

    - 好记性不如烂笔头,------------在我的小仓库. 介绍 Quarkus是专为无服务器应用程序交付而设计的一个全栈Kubernetes原生Java框架.它与流行的 Java 框架.标准和库( ...

  6. SSH Chapter 04 Hibernate 入门

    SSH Chapter 04 Hibernate入门 笔记 Hibernate 知识体系图: 本章目标: 理解类和表的映射关系 掌握单表的增删改 掌握按主键查询 理解持久化对象的状态及其转换 技术内容 ...

  7. Springboot入门案例教程

    ​ 从springboot的入门案例中,我们可以体会到springboot的便捷之处,使用Spring Initializer创建一个项目,然后写一个controller层就可以运行起来,我们啥也没配 ...

  8. SpringDataJpa系列一之初识及入门案例搭建

    本文章参考文档为<SpringDataJpa从入门到精通> 首先, 我觉得入门SpringDataJpa的话, 我们首先要理清楚. JPA.Hibernate和SpringDataJpa的 ...

  9. Hibernate入门经典实例

    http://blog.csdn.net/yidamr/article/details/8755401 hibernate是开源的,用于封装数据访问层的组件,称为:数据访问层框架(持久层框架) 写一个 ...

  10. JPA入门案例完成增删改查

    目录 一.ORM思想 二.JPA规范 三.搭建JPA的基础环境 1.创建数据库表 2.创建Maven工程导入坐标 3.创建JPA的核心配置文件 4.编写实体类,配置映射关系 四.入门案例--增删改查 ...

最新文章

  1. Android 事件分发 简单学
  2. BZOJ 4152: [AMPPZ2014]The Captain(最短路)
  3. 【运筹学】表上作业法 ( 求初始基可行解 | 最小元素法 )
  4. 从零开始Code Review
  5. css布局方式_网页布局都有哪种?一般都用什么布局?
  6. mysql外部关联视图_MySQL数据库 : 自关联,视图,事物,索引
  7. qscoj:喵哈哈村的冒菜店(线段树区间合并)
  8. 每日算法系列【LeetCode 153】寻找旋转排序数组中的最小值
  9. win10 预览版启用 Hyper-V 虚拟机 装 boot2docker找不到菜单按钮问题
  10. python中match函数的用法_python repython re.match函数怎么来使用
  11. python open file失败_python open打开文件失败原因及解决办法
  12. 解决:无法加载文件 C:\Users\user\AppData\Roaming\npm\npx.ps1,因为在此系统上禁止运行脚本 。
  13. 用blender环绕物体拍摄
  14. Qt编写安防视频监控系统5-视频回放
  15. 机器学习中的线性代数之矩阵求导
  16. LeetCode 61-70题 这是动态规划合集啊?受宠若惊
  17. Nginx是干什么的
  18. 基于哈工大LTP句子主干提取
  19. 计算机乡村少年宫教案,少年宫计算机组教案 (精选可编辑)
  20. Matlab中angle函数使用

热门文章

  1. android studio for android learning (二十 )android中this、context等关键概念理解全解
  2. 【BZOJ 1103】大都市【dfs序上建立树状数组、维护路径前缀和】
  3. 7 ida pro 网盘_7月上市新车汇总 日产轩逸领衔 自主高端红旗HS7最具潜力
  4. cv python 画直线_Python进阶之Matplotlib入门(一)
  5. 素数猜想对 c语言,1007 素数对猜想 (20 分)(C语言实现)
  6. 创新课程管理系统——测试心得
  7. 如何使用火狐下的两款接口测试工具RESTClient和HttpRequester发送post请求
  8. java封装的概念学习笔记
  9. (HDU)1089 --A+B for Input-Output Practice (I)(输入输出练习(I))
  10. SQL语法 之 基本查询