广告
返回顶部
首页 > 资讯 > 精选 >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://www.lsjlt.com/news/223471.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • hibernate4快速入门实例详解
    Hibernate是什么Hibernate是一个轻量级的ORMapping框架ORMapping原理(Object RelationalMapping)ORMapping基本对应规则:类跟表相对应类的属性跟表的字段相对应类的实例与表中具体的...
    99+
    2023-05-31
    hibernate4 入门 te
  • SpringBoot快速入门详解
    Spring Boot是什么? Spring Boot并不是什么新的框架,它是对Spring的缺点进行了改善和优化,Spring Boot默认了很多的框架使用方式,像maven整合了...
    99+
    2022-11-12
  • 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 入门
  • 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+
    2022-11-12
  • python快速入门题目详解
    目录九九乘法表列表元组(不可变序列)集合字符串总结九九乘法表 for i in range(1,10): for j in range(1,i + 1): ...
    99+
    2022-11-12
  • JDBC最详讲解(快速入门)
    作者简介:大家好我是小唐同学(๑>؂小唐同学(๑>؂...
    99+
    2023-09-04
    java 数据库 mysql
  • MyBatis框架零基础快速入门案例详解
    目录一、创建数据库和表二、创建maven工程三、代码编写1、编写Student实体类2、编写DAO接口StudentDao3、编写DAO接口Mapper映射文件StudentDao....
    99+
    2022-11-13
  • Java的MyBatis快速入门和实战详解
    目录1.什么是MyBatis2. JDBC存在的缺点硬编码操作繁琐3.Mybatis简化JDBC开发4.MyBatis快速入门|实战项目详解1.什么是MyBatis 简单来说,My...
    99+
    2023-05-18
    MyBatis MyBatis 实战
  • Canvaskit快速入门实例代码分析
    这篇“Canvaskit快速入门实例代码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Canvaskit快速入门实例代码...
    99+
    2023-07-05
  • Python快速入门实例代码分析
    这篇文章主要介绍了Python快速入门实例代码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python快速入门实例代码分析文章都会有所收获,下面我们一起来看看吧。Python 安装已经安装软件的小伙伴要检...
    99+
    2023-07-05
  • C语言数组快速入门详细讲解
    目录1.一维数组a.一维数组的创建b.一维数组的初始化c.一维数组的使用d.一维数组在内存中的存储2.二维数组a.二维数组的创建b.二维数组的初始化c.二维数组的使用d.二维数组在内...
    99+
    2022-11-13
  • SpringBoot MyBatis简单快速入门例子
    目录一、MyBatis简介二、MyBatis使用步骤一、MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除...
    99+
    2022-11-12
  • FluentMybatis快速入门的示例分析
    这篇文章主要介绍FluentMybatis快速入门的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用fluent mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务sql...
    99+
    2023-06-20
  • XXL-Job快速入门+详细教程
    XXL-Job快速入门+详细教程 1 概念 XXL-JOB是一个轻量级分布式任务调度平台 详细说明:XXL-JOB是一个任务调度框架,通过引入XXL-JOB相关的依赖,按照相关格式撰写代码后,可在...
    99+
    2023-09-27
    java 开发语言 xxl-job 定时任务 分布式
  • Fluent Mybatis快速入门详细教程
    使用fluent mybatis可以不用写具体的xml文件,通过java api可以构造出比较复杂的业务sql语句,做到代码逻辑和sql逻辑的合一。 不再需要在Dao中组装查询或更新...
    99+
    2022-11-12
  • MyBatis-Ext快速入门实战
    最近在工作中,接触到了一个MyBatis扩展工具包MyBatis-Ext,可以说很大程度上减轻了使用mybatis时的工作量,本文就和大家来分享一下这个轻量的扩展工具。 MyBat...
    99+
    2022-11-12
  • python中文件读写的快速入门实例
    说明:    相比其他语言python真的简洁很多,自己往前在学习C语言的过程中,起码要到很后面很后面才提起文件操作,但python的快速入门却以一种非常简洁的方法让你对文件操作有个体验,当然这是在linux环境下,不过不得不说,linux...
    99+
    2023-01-31
    实例 入门 快速
  • node.js入门实例helloworld详解
    本文实例讲述了node.js入门实例helloworld。分享给大家供大家参考,具体如下: 将下面的代码保存为:server.js存到E盘下面的node目录中。 var http = require('...
    99+
    2022-06-04
    详解 实例 入门
  • SpringMVC注解的入门实例详解
    目录1、在 web.xml 文件中配置前端处理器2、在 springmvc.xml 文件中配置处理器映射器,处理器适配器,视图解析器3、编写 Handler4、编写 视图 index...
    99+
    2022-11-13
  • ReactJS入门实例教程详解
    目录一、ReactJS简介二、对ReactJS的认识及ReactJS的优点1、ReactJS的背景和原理2、组件化三、下载ReactJS,编写Hello,world四、Jsx语法五、...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作