day29_Hibernate复习_01

1.Hibernate框架

    功能:Dao层(持久层)框架,封装了JDBC。     思想:整合了ORM思想,以面向对象的思想操作数据库。

2.Hibernate搭建步骤

    1> 导包     2> 建表     3> 创建实体(model)     4> 填写Hibernate.cfg.xml配置文件     5> 填写实体orm映射文件(元数据)     6> 写代码

3.Hibernate 操作流程

    1> 加载配置文件     2> 根据配置创建SessionFactory     3> 根据工厂获得session     4> 开启事务     5> 操作数据库     6> 关闭事务     7> 释放资源

4.api详解(看图)

5.配置文件详解

Hibernate.cfg.xml         方言:每个数据库方言各不相同,MySql应该配置最短那个。         hbm2ddl:Hibernate建表策略             create:每次启动Hibernate都会重新创建表结构。             create-drop:每次启动Hibernate都会重新创建表结构,Hibernate关闭前还会删除表结构。             update:自动更新表结构,会保留原有结构和数据。             validate:只验证/校验 表结构,表结构不匹配时抛出异常。 orm映射文件(User.hbm.xml)         class: 类与表的对应             id:OID与主键的对应             generator:主键生成策略                 increment:先查询表中的最大id. 然后+1,适合测试使用,不适合实际开发使用(存在线程并发问题)                 indentity:依赖数据库的主键自增,例如:mysql、sqlserver。                 sequence:依赖于数据库的序列,例如:Oracle。                 hilo:Hibernate自己实现序列算法(用不到)。                 native:三选一:indentity / sequence / hilo                 uuid:生成32位的随机字符串                 assigned:自然主键时,自己填入ID          property             name:实体属性             column:表列名             length:配置属性长度             type:配置属性类型             not-null:是否非空             unque:是否唯一          type             数据库类型                        Java类型                        Hibernate类型             varchar     =>         java.lang.String|String  =>             string             int             =>         Integer                         =>             int             ......                           ......                                                 ......

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零开始的linux

kvm安装

yum install -y kvm virt-* libvirt bridge-utils qemu-img 是否加载模块 lsmod |grep kvm...

36350
来自专栏DOTNET

【翻译】MongoDB指南/CRUD操作(二)

【原文地址】https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,S...

38080
来自专栏魏琼东

一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实现字典的打印

系列回顾          从上一篇文章一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实例一个模块(商品字典)开始我带领大...

22050
来自专栏黑泽君的专栏

day56_BOS项目_08

  注意1:权限数据属于比较特殊的数据,系统在上线之后,必须先把权限数据给它初始化到数据库中去,然后这个系统才可以跑起来。如果不初始化权限数据的话,那么登录上系...

12220
来自专栏张善友的专栏

利用Windows性能计数器(PerformanceCounter)监控

一、概述 性能监视,是Windows NT提供的一种系统功能。Windows NT一直以来总是集成了性能监视工具,它提供有关操作系统当前运行状况的信息,针对各种...

43990
来自专栏JackeyGao的博客

Django 自定义管理命令

Django 提供了一组非常实用的命令, 可以通过django-admin.py和pytohn manage.py脚本调用. 关于这个Management Co...

25320
来自专栏枕边书

从并发处理谈PHP进程间通信(一)外部介质

进程间通信 进程间通信(IPC,Inter-Process Communication),多进程开发中,进程间通信是一个永远也绕不开的问题。在 web开发中,我...

33160
来自专栏技术博文

PHP漏洞全解

针对PHP的网站主要存在下面几种攻击方式: 1、命令注入(Command Injection) 2、eval注入(Eval Injection) 3...

58770
来自专栏java一日一条

Java Web 模板代码生成器的设计与实现

项目中需要根据数据库表写很多Meta、Dao、Service代码,其中很多代码都是重复而繁琐的。因此如果有一个模板代码的生成器,就可以一定程度提高开发效率。

13630
来自专栏Java3y

Hibernate面试题大全

Hibernate常见面试题 Hibernate工作原理及为什么要用? Hibernate工作原理及为什么要用? 读取并解析配置文件 读取并解析映射信息,创建...

46550

扫码关注云+社区

领取腾讯云代金券