手写 Hibernate ORM 框架-00-环境准备

xiaoxiao2021-02-28  53

导航

手写 Hibernate ORM 框架-00-环境准备

手写 Hibernate ORM 框架-01-注解定义、常量定义

手写 Hibernate ORM 框架-02-实体 Bean 定义,建表语句自动生成

手写 Hibernate ORM 框架-03-Hibernate 配置文件读取, 数据库连接构建

手写 Hibernate ORM 框架-04-数据库交互,数据持久化

目录

导航目录前言 代码地址 环境准备pom.xml 内容jar 包功能说明 整体目录结构目录导航

前言

Hibernate 相信接触过 java 的人都不会陌生。

今天我们一起写一个简化版的 Hibernate,用于加深对此 ORM 工具的理解。

代码地址

hibernate-simulator

环境准备

maven

本项目使用 maven 管理 jar 包

jdk

jdk 为 1.8

pom.xml

内容

pom 文件如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.github.houbb</groupId> <artifactId>hibernate-simulator</artifactId> <version>1.0.1-SNAPSHOT</version> <packaging>jar</packaging> <description>模拟 Hibernate</description> <properties> <!--============================== All Plugins START==============================--> <plugin.compiler.version>3.2</plugin.compiler.version> <plugin.compiler.version>3.2</plugin.compiler.version> <plugin.surefire.version>2.18.1</plugin.surefire.version> <plugin.surefire.skip-it>true</plugin.surefire.skip-it> <plugin.surefire.ignore-failure>true</plugin.surefire.ignore-failure> <!--============================== All Plugins END ==============================--> <!--main--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.compiler.level>1.8</project.compiler.level> <mysql.version>5.1.34</mysql.version> <dom4j.version>1.6.1</dom4j.version> </properties> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!--dom4j--> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>${dom4j.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>${project.name}</finalName> <pluginManagement> <!--============================== All Plugins ==============================--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${plugin.compiler.version}</version> <configuration> <source>${project.compiler.level}</source> <target>${project.compiler.level}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${plugin.surefire.version}</version> <configuration> <skipTests>true</skipTests> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </pluginManagement> <!--use plugins--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> </plugins> </build> </project>

jar 包功能说明

名称作用备注mysql-connector-java用于连接 mysql 数据库本项目以 mysql 为例子dom4j用于模拟读取 hibernate.cfg.xmljunit用于单元测试

整体目录结构

便于鸟瞰整个项目

. ├── main │ ├── java │ │ └── com │ │ └── ryo │ │ └── hibernate │ │ └── simulator │ │ ├── hibernate │ │ │ ├── Session.java │ │ │ ├── Table.java │ │ │ ├── annotations │ │ │ │ ├── Column.java │ │ │ │ ├── Entity.java │ │ │ │ ├── GenerateValue.java │ │ │ │ └── Id.java │ │ │ ├── constants │ │ │ │ ├── HibernateConstant.java │ │ │ │ └── TypeMap.java │ │ │ └── util │ │ │ ├── ConnectionUtil.java │ │ │ ├── FieldUtil.java │ │ │ └── TableUtil.java │ │ ├── model │ │ │ └── User.java │ │ └── util │ │ ├── CollectionUtil.java │ │ ├── ReflectionUtil.java │ │ ├── StringBuilderUtil.java │ │ └── StringUtil.java │ └── resources │ └── hibernate.cfg.xml

目录导航

目录导航

转载请注明原文地址: https://www.6miu.com/read-2622093.html

最新回复(0)