【Hibernate】01 概述
2021-03-09 18:28
标签:增删改 sel input code oid 组合 rest pac 字段 - Hibernate是我们JavaEE开发中的DAO层框架 - DAO【Data Access Object】 数据访问对象层 - 在DAO层,访问数据库,进行CRUD操作 - Hibernate是对JDBC的封装,最大的好处就是不用手写SQL 即:Object Relation Mapping 对象关系映射 - 数据库结构和Java语言结构形成关系映射 - 一张数据表对应了一个JavaBean【实体类Entity or Pojo】 - 一张表的一个字段【列】对应了JavaBean的一个属性 - 一张表的一个记录对应了JavaBean的一个实例 - POJO(Plain Ordinary Java Object) 普通Java对象 - Entity 实体的,即实体类 - JavaBean 用于在Java中构建映射数据库的对应结构, 数据库的操作可以被Java程序控制 对结果集的处理最好的办法就是使用ORM对数据表映射出一个Java实体类 我们使用这个类来对应结果集接收数据,以便我们方便的操作和处理 再没有ORM思想的情况下,我们能想到的就是以容器来处理 例如个单个记录的多个字段与值,因为字段是唯一的,值可能重复 那这个特性我们可以是用Map容器来存储一个记录, 如果有若干个结果集记录,我们就对Map再进行一个组合,封装进List容器处理 当时写的是在静态代码块里面,如果连接对象资源释放了,静态连接对象的引用会空指针 所以不能写一个静态连接对象的引用 而是直接写进封装的方法里面获取 【Hibernate】01 概述 标签:增删改 sel input code oid 组合 rest pac 字段 原文地址:https://www.cnblogs.com/mindzone/p/12862181.html什么是Hibernate?
ORM思想?
什么是POJO、Entity、JavaBean?
回顾原生JDBC的操作
import org.junit.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* @author ArkD42
* @file Hibernate
* @create 2020 - 05 - 10 - 8:50
*/
public class OriginalJdbc {
@Test
public void jdbc() throws Exception {
// 注册驱动 MySQL5.0+ 可以不注册了
// Class.forName("com.mysql.cj.jdbc.Driver");
// 创建连接
Connection connection = DriverManager.getConnection(
"jdbc:mysql:///ssm?serverTimezone=Asia/Shanghai",
"root",
"123456"
);
// 编写SQL 创建预编译SQL对象并注入
String sql = "SELECT * FROM user;";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
// 查询返回结果集,增删改返回结果记录数
ResultSet resultSet = preparedStatement.executeQuery();
// 对查询的结果集进行处理
// 释放资源
preparedStatement.close();
connection.close();
}
}
改正初学时的JDBC工具类:
package cn.dai.util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* @author ArkD42
* @file Hibernate
* @create 2020 - 05 - 10 - 9:04
*/
public class JdbcUtil {
static String url ;
static String username;
static String password;
static {
try {
// Class.forName("com.mysql.cj.jdbc.Driver");
InputStream inputStream = JdbcUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(inputStream);
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
} catch (Exception exception) {
exception.printStackTrace();
}
}
public static Connection getConnection(){
try {
return DriverManager.getConnection(url, username, password);
} catch (SQLException sqlException) {
sqlException.printStackTrace();
}
return null;
}
}