1、ORM介绍
对象关系映射
解决了一个问题: 对象模型和关系模型之间阻抗。
对象模型 关系模型
对象名称 Student 表 t_student
对象属性类型 Integer 列的值的类型 int
对象属性名称 stuId 列名 student_id
1、ORM思想就诞生=>Java是一门面向对象的语言。
2、操作对象中属性的值间接操作数据库中表。
实现方式:hibernate框架
Student.hbm.xml
<class name="类的全路径" table="映射的表的名称">
<id name="主键映射的属性名称">
<cloumn name="表中的主键名称" />
</id>
<property name="studentName" cloumn="student_name" />
</class>
mybatis框架:
<resutMap name="stuMap" type="com.demo.domain.Student">
<id property="studentId" cloumn="student_id" />
<result property="studentName" column="student_name"/>
</resultMap>
// 通过注解方式完成ORM映射配置
JPA,hibernate,spring-data-jpa
@Table(name="t_student")
public class Student {
@Id // 映射主键
@Column(name="student_id")
private Integer studentId;
@Column(name="student_name")
private String studentName;
}
springBoot(mybatis,spring-data-jpa,hibernate)=>微框架
2、ORM框架的核心反射
反射:API
自定义注解:核心语法和使用方式
3、模拟ORM的框架的部分实现
首先需要连接到JDBC,导入我们的驱动包以及手写一个工具类
手动实现增删改执行返回影响行数的方法
package com.orm.demo.db;
/**
* @author longhai
* @date 2018/9/19 - 14:06
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
/**
* 操作数据的通过方法
*/
public class DBUtils {
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driv