1. Hibernate概述

Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架。

a. 轻量级: 使用方便 (比Apache DbUtils 复杂很多倍 )这个概念是个相对概念。(主要是对比EJB来说的,ejb是重量级的(内建组件很多,启动很慢,东西很多))

b. 持久层: JavaEE分为 表现层、业务层(service)、持久层(dao)

Struts2 是一个表现层 框架

Hibernate 是一个持久层 框架 (操作数据库 )--ssh

c. 关系数据库: mysql、oracle 都是关系型数据库 (主流数据库 )

最近 NOSQL 非关系型数据库开始流行 (mongodb、 redis)

d. ORM : Object Relational Mapping 对象关系映射 (一种思想)

将数据表的关系,映射为 类和对象之间关系:

关系型数据库

Java

表的字段

类的属性

表的一行数据

类的一个实例对象

ORM好处: java程序员只需要在程序中操作对象,因为存在映射关系,自动生成SQL语句。不需要你写sql语句,就可以操作数据库。

优点:a.完全orm,自动生成sql语句,简化jdbc

   b.反射代理机制,生成代理对象,数据获取可以进行延迟抓取,缓存的使用,达到优化目的

缺点:a.完全orm,自动生成sql,对性能存在质疑。

2. hibernate的快速入门

2.1 JAR包下载和导入

共11个

n 核心jar:hibernate3.jar

n 必须jar:\lib\required\*

n jpa规范jar:\lib\jpa---后面会用到jpa的注解。

n jdbc驱动包:mysql-connector-java-5.0.8-bin.jar—连接数据库

n 使用日志系统-slf4j系列(slf4j核心+ slf4j和log4j的整合包+log4j)—使用静态日志绑定体系+在src中添加log4j的核心配置文件:log4j.properties

2.2log4j是一个apache的日志的实现框架,企业开发中经常使用log4j记录日志。

开发过程中,经常需要想控制台输出一些调试信息,传统的做法是system.out打印。

缺点:信息一定会输出在控制台中,可以将输出信息写入日志文件,调试信息会造成日志文件过于庞大。

日志技术的好处:存在日志级别的概念,通过配置(日志级别)来控制在不同的情况,输出不同级别的日志信息。--可控制输出的

log4j的日志级别:

提供6种日志级别(由高到低)

log4j.xml配置方式

log4j.properties配置方式.—推荐:键值对.

2.3基于hibernate实现数据库表CRUD的操作

第一步:准备数据库的表:

第二步:编写实体类和ORM映射文件

【实体类和映射的编写前需要知道的】

作为ORM框架,

Java和数据库之间的对应关系:类(POJO)--表, 属性--字段,对象--记录,

类就是普通的POJO实体类,必须提供getter和setter方法。

数据类型之间的对应关系:Java实体类、Hibernate、sql之间有数据类型的对应

对应关系:

最新文章

  1. java.lang.InstantiationException-反射机制
  2. yourphp搜索代码
  3. Mongodb c#增删改查
  4. Linux命令echo -e
  5. UINavigationController侧滑滑动返回 卡死问题
  6. photoshop:找不到增效工具入口点
  7. Chapter 1 Securing Your Server and Network(11):使用透明数据库加密
  8. Android Studio 实时显示布局文件Preview窗口
  9. PostMessage和SendMessage的区别
  10. RTTI、虚函数和虚基类的实现方式、开销分析及使用指导(虚函数的开销很小,就2次操作而已)
  11. iSCS协议介绍
  12. 1740: [Usaco2005 mar]Yogurt factory 奶酪工厂
  13. ubuntu环境下lnmp环境搭建(2)之Nginx
  14. ASP.NET Core 2.1的配置、AOP、缓存、部署、ORM、进程守护、Nginx、Polly【源码】
  15. junit 方法:assertEquals 和 assertTrue
  16. Python文件读写(open(),close(),with open() as f...)
  17. Prometheus-operator架构详解
  18. Neural style transfer
  19. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
  20. 去除图像中的alpha通道或透明度

热门文章

  1. 带您了解Oracle层次查询
  2. java平台利用jsoup开发包,抓取优酷视频播放地址与图片地址等信息。
  3. 天津政府应急系统之GIS一张图(arcgis api for flex)解说(二)鹰眼模块
  4. weex 项目开发(五)自定义 过滤函数 和 混合 及 自定义 Header 组件
  5. Multi-company rules
  6. Yii 清理缓存
  7. DW格式与布局
  8. 【转载】VS工具使用——代码图
  9. 简单使用 Mvc 内置的 Ioc
  10. NOI 2014简要题解