当前位置:首页 > Web开发 > 正文

【Hibernate】入门

2024-03-31 Web开发

一、Hibernate框架的概述 1.1 什么是Hibernate

框架:软件的半成品,完成部分功能代码.

Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

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

ORM:Object Relational Mapping.

将Java中的实体类与数据库的关系表建立一个映射.就可以操作Java中对象,从而操作数据库.

常见的持久层框架

Hibernate

JPA:JPA Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系(只有接口规范)

MyBatis:前身Ibatis

1.2 Hibernate优点

Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作

Hibernate使用java的反射机制,而不是字节码增强程序类实现透明性

Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系.

二、Hibernate的日志记录

日志:程序开发中的一些信息.

常用信息输出: System.out.println(“”);

这种方式不好

如果输出内容比较多,项目已经开发完毕,不想使用输出.需要打开每个类,将输出的代码注释.

日志:Hibernate中使用slf4j技术.

slf4j:SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。

用于整合其他日志系统.

在企业中常用的日志记录:log4j

是具体的日志记录方案.

Log4J的日志级别:

fatal(致命的)、error(普通错误)、warn(警告)、info(信息)、debug(调试)、trace(堆栈信息).

Logger.error(“错误信息”);

通过配置文件的形式,显示错误信息.

配置的级别是info.

Log4J的三个组件:

记录器(Loggers)

格式:记录器 = 级别, 输出源1 , 输出源2

log4j.rootLogger=info, stdout

输出源(Appenders)

log4j.appender.stdout=org.apache.log4j.ConsoleAppender,控制台进行输出.

log4j.appender.file=org.apache.log4j.FileAppender,向文件进行输出.

布局(Layouts)

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

依赖的jar包

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> 三、Hibernate 入门程序 3.1 引入依赖(5.x版本) <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.4.2.Final</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency> <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>5.4.2.Final</version> </dependency> 3.2 创建表(关系型数据库) create table customer( id int primary key auto_increment, name varchar(20), age int ); 3.3 创建一个实体类 public class Customer { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } 3.4 创建ORM的映射.

映射文件只要是一个XML格式文件就可以.名字任意.

通常情况下名称规范:

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/42963.html