# MyORM **Repository Path**: longlong5/MyORM ## Basic Information - **Project Name**: MyORM - **Description**: 手写 ORM 框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-21 - **Last Updated**: 2025-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MyORM 项目文档 ## 项目简介 MyORM 是一个轻量级的 Java 对象关系映射(ORM)框架,旨在简化数据库操作。它提供了一系列工具和方法,使得开发者可以更方便地进行数据库的增删改查操作,而不需要直接编写大量的 SQL 代码。 ## 功能特点 - **数据库连接池**:使用连接池管理数据库连接,提高数据库操作的效率。 - **SQL 会话管理**:通过 `SqlSession` 类管理数据库会话,简化数据库操作。 - **映射接口**:支持通过接口定义数据库操作,使用注解来指定 SQL 语句。 - **类型转换**:提供 `RowMapper` 接口,方便将查询结果映射到 Java 对象。 ## 目录结构 ``` MyORM ├── pom.xml ├── sql │ └── student.sql └── src ├── main │ ├── java │ │ └── com │ │ └── longlong │ │ ├── domain │ │ │ └── Student.java │ │ ├── Main.java │ │ ├── orm │ │ │ ├── Handler.java │ │ │ ├── RowMapper.java │ │ │ ├── SqlAndKey.java │ │ │ └── SqlSession.java │ │ └── pool │ │ ├── AbstractConnection.java │ │ ├── BusinessException.java │ │ ├── ConfigurationReader.java │ │ ├── ConnectionPool.java │ │ └── MyConnection.java │ └── resources │ └── configuration.properties └── test └── java └── jdbctest ├── TestConfigReader.java ├── TestConnectionPool.java ├── TestJDBC.java ├── TestORM.java ├── TestStaticProxy.java ├── TestThread.java └── TestWait.java ``` ## 核心组件 ### SqlSession `SqlSession` 类是 MyORM 的核心类之一,它提供了执行 SQL 语句的方法,如 `update`、`insert`、`delete`、`selectOne` 和 `selectList`。通过 `SqlSession`,开发者可以方便地执行数据库操作。 ### ConnectionPool `ConnectionPool` 类负责管理数据库连接。它使用连接池技术,避免了频繁创建和销毁数据库连接的开销,提高了数据库操作的效率。 ### RowMapper `RowMapper` 接口用于将查询结果映射到 Java 对象。开发者可以实现该接口,定义如何将 `ResultSet` 转换为自己的 Java 对象。 ### StudentMapper `StudentMapper` 接口是一个示例映射接口,它定义了对 `student` 表的操作方法,如插入、查询等。通过注解指定 SQL 语句,简化了代码编写。 ## 使用方法 1. **配置数据库连接**:在 `configuration.properties` 文件中配置数据库连接信息。 2. **定义映射接口**:定义一个接口,如 `StudentMapper`,并在接口方法上使用注解指定 SQL 语句。 3. **获取 SqlSession**:通过 `SqlSession` 类获取数据库会话。 4. **执行数据库操作**:使用 `SqlSession` 提供的方法执行数据库操作。 ## 测试 项目包含了一系列测试类,如 `TestConnectionPool`、`TestORM` 等,用于测试各个组件的功能。 ## 依赖管理 项目使用 Maven 进行依赖管理,`pom.xml` 文件中定义了项目所需的依赖,如 MySQL 连接器和 Lombok。 ## 开发环境 - Java 版本:17 - Maven 版本:请确保使用 Maven 3.8.0 及以上版本 ## 贡献指南 欢迎对 MyORM 项目进行贡献。请先阅读项目的开发文档,了解项目的结构和设计思路,然后提交 Pull Request。