返回顶部
首页 > 资讯 > 精选 >hibernate4快速入门实例详解
  • 130
分享到

hibernate4快速入门实例详解

hibernate4入门te 2023-05-31 04:05:53 130人浏览 独家记忆
摘要

Hibernate是什么Hibernate是一个轻量级的ORMapping框架ORMapping原理(Object RelationalMapping)ORMapping基本对应规则:类跟表相对应类的属性跟表的字段相对应类的实例与表中具体的

Hibernate是什么

Hibernate是一个轻量级的ORMapping框架

ORMapping原理(Object RelationalMapping)

hibernate4快速入门实例详解

ORMapping基本对应规则:

类跟表相对应

类的属性跟表的字段相对应

类的实例与表中具体的一条记录相对应

一个类可以对应多个表,一个表也可以对应对个类

DB中的表可以没有主键,但是Object中必须设置主键字段

DB中表与表之间的关系(如:外键)映射成为Object之间的关系

Object中属性的个数和名称可以和表中定义的字段个数和名称不一样

ORMapping的基本实现方式:

使用JDBC,用sql来操作数据库,只是看动态生成还是人工写代码来实现。

大家想想,我们实现过ORMapping吗?

hibernate4快速入门实例详解

hibernate4快速入门实例详解

Hibernate能干什么:

Hibernate主要用来实现Java对象和表之间的映射,除此之外还提供还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。

Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案;对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。

Hibernate可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。

hibernate4快速入门实例详解

一个非常简要的Hibernate体系结构的高层概要图

hibernate4快速入门实例详解

Hibernate运行时体系结构

“最小”的体系结构方案,要求应用程序提供自己的 JDBC连接并管理自己的事务。这种方案使用了Hibernate api 的最小子集.

hibernate4快速入门实例详解

“全面解决”的体系结构方案,将应用层从底层的JDBC/JTAAPI中抽象出来,而让Hibernate来处理这些细节。

hibernate4快速入门实例详解

SessionFactory(org.hibernate.SessionFactory)

针对单个数据库映射关系经过编译后的内存镜像,是线程安全的(不可变)。 它是生成Session的工厂,本身要用到ConnectionProvider。

Session(org.hibernate.Session)

表示应用程序与持久储存层之间交互操作的一个单线程对象,此对象生存期很短,隐藏了JDBC连接,也是Transaction的工厂。

Transaction(org.hibernate.Transaction)

应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。

ConnectionProvider(org.hibernate.connection.ConnectionProvider)

生成JDBC连接的工厂(有连接池的作用)。它通过抽象将应用从底层的Datasource或DriverManager隔离开。仅供开发者扩展/实现用,并不暴露给应用程序使用。

TransactionFactory(org.hibernate.TransactionFactory)

生成Transaction对象实例的工厂。仅供开发者扩展/实现用,并不暴露给应用程序使用。

HelloWorld

要研究怎么做,先得搞清楚需要做什么

根据刚才的学习,做基本的Hibernate应用程序,要完成下面的工作:Object、数据库的表、两种配置文件、客户端程序来调用Hibernate的接口进行操作。

构建环境

最简单的方法:把hibernate-release-4.0.0.Beta4.zip包里面lib/required下的jar包全部添加到工程的library里面,另外还需添加slf4j的实现包slf4j-log4j12-1.5.8.jar和log4j的实现包log4j-1.2.16.jar,还有别忘了把JDBC的驱动jar包也加入到library里面

Object怎么做

就是前面学过的vo的写法(规则同样是那四点)

要求必须有一个public为空参的构造方法,现在写vo一般不写构造方法,默认就有一个,但是写构造方法的时候要注意写上一个public为空参的构造方法

要求提供一个标识属性(identifier)

使用非final的类(因为要使用代理来延迟实体的装载)

设若构建一个对象:com.bjpowernode.h5.hello.UserModel,有四个属性:uuid,userId,name,age

在数据库中建表

设若构建一个表为tbl_user,字段:uuid,userId,name,age

配置xxx.cfg.xml

缺省名称为hibernate.cfg.xml

存放在当前classes的根目录下,开发的时候在src根下就可以了

主要有如下四部分配置 :

(1)与DB的连接

(2)可选配置

(3)资源文件注册

(4)二级缓存

配置的时候可以到Hibernate发行包里面找个hibernate.cfg.xml的例子,比如可以用“\project\hibernate-documentation\quickstart\tutorials\basic\src\test\resources”下面的hibernate.cfg.xml作例子

示例如下:

<?xml version='1.0' encoding='utf-8'?>  <!DOCTYPE hibernate-configuration PUBLIC      "-//Hibernate/Hibernate Configuration DTD 3.0//EN"      "Http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  <hibernate-configuration>    <session-factory>      <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>      <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>      <property name="connection.username">test</property>      <property name="connection.passWord">test</property>        <property name="connection.pool_size">2</property>      <property name="dialect">org.hibernate.dialect.OracleDialect</property>      <property name="show_sql">true</property>        <mapping resource="cn/bjpowernode/h5/hello/UserModel.hbm.xml"/>    </session-factory>  </hibernate-configuration>  

--结束END--

本文标题: hibernate4快速入门实例详解

本文链接: https://lsjlt.com/news/223471.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • hibernate4快速入门实例详解
    Hibernate是什么Hibernate是一个轻量级的ORMapping框架ORMapping原理(Object RelationalMapping)ORMapping基本对应规则:类跟表相对应类的属性跟表的字段相对应类的实例与表中具体的...
    99+
    2023-05-31
    hibernate4 入门 te
  • SpringBoot快速入门详解
    Spring Boot是什么? Spring Boot并不是什么新的框架,它是对Spring的缺点进行了改善和优化,Spring Boot默认了很多的框架使用方式,像maven整合了...
    99+
    2024-04-02
  • SpringBoot快速入门及起步依赖解析(实例详解)
    目录一、SpringBoot简介1.1 SpringBoot快速入门1.1.1 开发步骤1.1.2 对比1.1.3 官网构建工程1.1.4 SpringBoot工程快速启动1.2 S...
    99+
    2022-11-13
    SpringBoot起步依赖 SpringBoot 入门
  • JDBC最详讲解(快速入门)
    作者简介:大家好我是小唐同学(๑>؂小唐同学(๑>؂...
    99+
    2023-09-04
    java 数据库 mysql
  • Spring Boot Admin 快速入门详解
    目录1、介绍2、服务端搭建2.1 引入依赖2.2 添加注解2.3 进行测试2.4 测试结果3、客户端搭建3.1 引入依赖3.2 编写配置3.3 进行测试4、安全性4.1 添加依赖4....
    99+
    2024-04-02
  • python快速入门题目详解
    目录九九乘法表列表元组(不可变序列)集合字符串总结九九乘法表 for i in range(1,10): for j in range(1,i + 1): ...
    99+
    2024-04-02
  • PHP数组用法详解:快速入门与实例分析
    PHP 数组是一种非常强大且灵活的数据结构,可以存储多个值并按照索引或键进行访问。在 PHP 中,数组的使用非常普遍,因此掌握数组的用法是非常重要的。本文将从快速入门开始,介绍 PHP...
    99+
    2024-03-14
    php 数组 实例 键值对
  • Java的MyBatis快速入门和实战详解
    目录1.什么是MyBatis2. JDBC存在的缺点硬编码操作繁琐3.Mybatis简化JDBC开发4.MyBatis快速入门|实战项目详解1.什么是MyBatis 简单来说,My...
    99+
    2023-05-18
    MyBatis MyBatis 实战
  • MyBatis框架零基础快速入门案例详解
    目录一、创建数据库和表二、创建maven工程三、代码编写1、编写Student实体类2、编写DAO接口StudentDao3、编写DAO接口Mapper映射文件StudentDao....
    99+
    2024-04-02
  • Canvaskit快速入门实例代码分析
    这篇“Canvaskit快速入门实例代码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Canvaskit快速入门实例代码...
    99+
    2023-07-05
  • Python快速入门实例代码分析
    这篇文章主要介绍了Python快速入门实例代码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python快速入门实例代码分析文章都会有所收获,下面我们一起来看看吧。Python 安装已经安装软件的小伙伴要检...
    99+
    2023-07-05
  • JDBC快速入门
    JDBC快速入门   详解 1.0DriverManager 功能1       功能2 2.0 connection对象   3.0 statement对象     4.0 ResultSet 遍历结果集的一个案例 ...
    99+
    2020-11-18
    JDBC快速入门
  • ClickHouse 快速入门
            ClickHouse 是什么ClickHouse 是一个开源的面向联机分析处理(OLAP, On-L...
    99+
    2024-04-02
  • mysqlsla快速入门
    1、什么是mysqlsla? 简单的说就是分析mysql log的工具,我主要是用他来分析下mysql slow log。 2、下载 http://hackmysql.com/mysqlsl...
    99+
    2024-04-02
  • python 快速入门
         导入 #from dir1 import test #import dir1.test as test 列表推到: b3 =[x for x in xing if x in ming] print(b3)  li ...
    99+
    2023-01-31
    入门 快速 python
  • Python3快速入门
    Python3快速入门Python3快速入门(一)——Python简介https://blog.51cto.com/9291927/2385592Python3快速入门(二)——Python3基础https://blog.51cto.com...
    99+
    2023-01-31
    入门 快速
  • SpringBoot快速入门
    文章目录 1,SpringBoot简介1.1 SpringBoot快速入门1.1.1 开发步骤1.1.1.1 创建新模块1.1.1.2 创建 `Controller`1.1.1.3 启动服务器...
    99+
    2023-10-27
    spring boot spring java
  • JavaScript快速入门
    目录 1.概述 2.引入方式 3.调试 4.基础语法 4.1.变量 4.2.常量 4.3.运算符 ​编辑 4.4.流程控制 4.4.1.顺序 4.4.2.判断 4.4.3.循环 4.5.对象 4.6.数组 4.7.函数 5.高级特性 1...
    99+
    2023-10-28
    javascript 前端 开发语言 原力计划
  • MyBatis-Ext快速入门实战
    最近在工作中,接触到了一个MyBatis扩展工具包MyBatis-Ext,可以说很大程度上减轻了使用mybatis时的工作量,本文就和大家来分享一下这个轻量的扩展工具。 MyBat...
    99+
    2024-04-02
  • SpringBoot MyBatis简单快速入门例子
    目录一、MyBatis简介二、MyBatis使用步骤一、MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作