Hibernate入门教程

Hibernate入门教程目录 Hibernate 介绍 Hibernate 是一种 ORM 框架 全称为 Object RelativeDate Mapping 在 Java 对象与关系数据库之间建立某种映射 以实现直接存取 Java 对象 ORM 概述 ORM 是一种思想 O 代表的是 Objcet R 代表的是 Relative M 代表的是 MappingORM gt 对象关系映射 ORM 关注是对象与数据库中的列的关系 Hibernate 入门指南入门 hibernate 总结下来可以分为以下三个步骤 概括地说就是

目录

Hibernate介绍

Hibernate是一种ORM框架,全称为 Object_Relative DateBase-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象!

ORM概述

ORM是一种思想

  • O代表的是Objcet
  • R代表的是Relative
  • M代表的是Mapping

ORM->对象关系映射…ORM关注是对象与数据库中的列的关系

Hibernate入门指南

入门hibernate,总结下来可以分为以下三个步骤,概括地说就是:

编写配置文件

在编写配置文件之前,我们需要首先编写一个实体类(举例)User对象,其路径在com.yhy.Entity包下>User.java

@javax.persistence.Entity @Table(name = "tb_user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY)//id 自动增长 private Long id; @Column(length = 50)//设定name长度为50 private String name; private int age; public User() { } //各种getter和seterr @Override public String toString() { return String.format("id=%d, name=%s, age=%d",id,name,age); } } 

 接下来便是编写hibernate.cfg.xml文件,该文件需要将其放在src目录下可以查看hibernate文件目录下搜索.cfg.xml看看怎么写的,并将其复制过来进行修改。

<!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> <!--1.数据库连接配置--> <property name="connection.driver_class">com.mysql.jdbc. Driver</property> <property name="connection.url">jdbc:mysql:///test</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!--数据库方法配置,hibernate在运行时,会根据不同的方言生成符合当 前数据库语法的sql--> <property name="dialect">org.hibernate.dialect.MySQL55Dialect</property> <!--2.其他相关配置--> <!--2.1 显示hibernate在运行时执行的sql语句--> <property name="show_sql">true</property> <!--2.2 格式化sql--> <property name="hibernate.format_sql">true</property> <!--2.3自动建表--> <property name="hbm2ddl.auto">update</property> <!--3.加载所有映射--> <mapping class="com.yhy.Entity.User"></mapping> </session-factory> </hibernate-configuration> 

测试

在配置完成主配置文件hibernate.cfg.xml后,便可编写测试类来测试Hibernate了

package com.yhy.Test; import com.yhy.Entity.User; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.query.Query; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.List; public class T1 { private SessionFactory factory; @Before public void init(){ //获取加载配置管理类并默认加载hibernate.cfg.xml文件 Configuration cfg = new Configuration().configure(); factory = cfg.buildSessionFactory();//得到Session工厂对象 } @After public void close(){ factory.close(); } @Test public void createAndInsertUser(){ //得到Session对象 Session session = factory.openSession(); //String hql = "select u from User u"; //使用Hibernate操作数据库,都要开启事务,得到事务对象 Transaction transaction = session.getTransaction(); //开启事务 transaction.begin(); for (int i=0;i<=10;i++) { //创建对象 User user = new User(); user.setAge(i); user.setName("张"+i); //把对象添加到数据库中 session.saveOrUpdate(user); } //提交事务 transaction.commit();//多次添加,一次提交,不然会出现未关闭的情况 //关闭session session.close(); } @Test public void selectAll() { Session session = factory.openSession(); //查询全部 String hql = "FROM User"; Query query = session.createQuery(hql); List list = query.list(); System.out.println(list); session.close(); } @Test public void selectById(){ Session session = factory.openSession(); Transaction transaction = session.beginTransaction(); //根据ID查询 User user = session.get(User.class,10L); System.out.println(user); transaction.commit(); session.close(); } @Test public void updateById(){ Session session = factory.openSession(); Transaction transaction = session.beginTransaction(); //根据Id修改user信息 User user = session.get(User.class,8L); user.setName("李三"); session.saveOrUpdate(user); transaction.commit(); session.close(); } @Test public void deleteById(){ Session session = factory.openSession(); Transaction transaction = session.beginTransaction(); //根据Id删除user User user = new User(3L); session.remove(user); transaction.commit(); session.close(); } } 

到此为止,关于Hibernate的配置以及使用Hibernate对数据库进行增删改查的基础入门操作已经介绍完毕,多多练手,才能更进一步的加深自己对Hibernate的学习。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231705.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月26日 上午9:01
下一篇 2025年11月26日 上午9:22


相关推荐

  • 安装tomcat一直提示no java virtual machine found infolder

    安装tomcat一直提示no java virtual machine found infolder安装tomcat一直提示no java virtual machine found infolder

    2022年4月24日
    42
  • 怎么获取smtp服务器用户帐号和密码

    怎么获取smtp服务器用户帐号和密码

    2022年3月3日
    55
  • 关于layuiAdmin 后台管理模板购买授权的问题

    关于layuiAdmin 后台管理模板购买授权的问题购买授权之前 建议认真阅读下述 解惑 以免造成不必要的困惑 另外也可以阅读 layui 付费产品服务条款 注意 layuiAdmin 受国家计算机软件著作权保护 登记号 2018SR 不得恶意分享产品源代码 二次转售等 违者必究 应该如何选择版本 通常我们推荐您选择 套餐版 它同时包含了 单页版 和 iframe 版 你随时可根据项目需求和团队情况 自由切换 但如果你

    2025年9月5日
    9
  • RGB565 转 RGB

    RGB565 转 RGBvoidRGB565To unsignedshor shortnRed n565Color amp 0xf800 gt gt 8 shortnGreen n565Color amp 0x07e0 gt gt 3 shortnBlue n565Color amp 0x001f lt lt 3

    2025年11月17日
    9
  • 【浅析】冯诺依曼体系

    【浅析】冯诺依曼体系TOC 冯诺依曼体系一 冯诺依曼体系是什么 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 1946 年美籍匈牙利科学家冯 诺伊曼提出的存储程序原理 将程序指令存储器和数据存储器合并在一起的存储器结构 即把程序本身当作数据来对待 程序和该程序处理的数据用同样的方式存储 并确定了存储程序计算机的五大组成部分和基本工作方法 二 特点和组成 1 采用二进制逻辑 计算机的指令和数据均采用二进制表示 2 程序存储执行 将指令和数据同时存放在存储器中 数据和程序在内存中是

    2026年3月17日
    1
  • 魔方公式总结

    魔方公式总结一 基础知识还原魔方 一般以白色作为底面 中心块只会和中心面交换位置 棱块只会和棱块交换位置 角块只会和角块交换位置 各个面的颜色 前蓝后绿 左橙有红 上黄下白 6 个面的编码如下 前 F front 后 B behind 左 L left 右 R right 上 U up 下 D down 前后左右上下只是魔方相对于你的位置 跟颜色没有关系 在旋转

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号