# my-jdbc **Repository Path**: li9699/my-jdbc ## Basic Information - **Project Name**: my-jdbc - **Description**: 基于JDBC简单封装, 注解配置 , 轻量级半自动化ORM框架 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-31 - **Last Updated**: 2025-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: JDBC, ORM ## README # My-JDBC 一个基于 JDBC 的轻量级数据库访问框架,提供便捷的数据库操作功能,支持实体类与数据库表的映射。 ## 特性 - 支持实体类与数据库表的自动映射。 - 提供基础的数据库操作接口(增、删、改、查)。 - 支持事务管理。 - 提供工具类简化数据库操作。 ## 模块结构 - **注解模块**:定义用于实体类与数据库表映射的注解。 - **DAO 模块**:提供基础数据库操作接口及其实现。 - **事务管理模块**:实现简单的事务管理。 - **工具类模块**:封装数据库操作的通用方法。 ## 使用说明 ### 注解说明 - `@TableName`:用于标注实体类对应的数据库表名。 - `@TableId`:用于标注实体类的主键字段。 - `@TableField`:用于标注实体类的普通字段。 ### DAO 接口 - `BaseDao`:定义基础数据库操作接口。 - `DefaultBaseDaoImpl`:提供 `BaseDao` 接口的默认实现。 ### 事务管理 - 使用 `SimpleTransactionManager` 类进行事务管理,支持事务的开启、提交、回滚和连接获取。 ### 工具类 - `DaoUtils`:封装常用的数据库操作方法。 - `DbUtils`:提供数据库连接和预编译语句的工具方法。 - `EntityMapperUtils`:实现数据库结果集到实体类的映射。 - `TableReflectUtils`:实现基于反射的数据库表与实体类字段映射。 ## 示例代码 ```java // 定义实体类 @TableName("users") public class User { @TableId private Long id; @TableField private String name; // Getter 和 Setter } // 使用 DAO 操作数据库 public class UserDao extends DefaultBaseDaoImpl { // 可以直接使用 list(), getById(), save(), updateById(), deleteById() 等方法 } // 主程序中使用 public class Main { public static void main(String[] args) { UserDao userDao = new UserDao(); try { SimpleTransactionManager.begin(); User user = new User(); user.setName("张三"); userDao.save(user); SimpleTransactionManager.commit(); } catch (SQLException e) { SimpleTransactionManager.rollback(); e.printStackTrace(); } finally { SimpleTransactionManager.releaseResources(); } } } ``` ## 依赖管理 使用 Maven 进行依赖管理,核心依赖包括 JDBC 驱动等。 ## 许可证 该项目遵循 MIT 许可证。