# jvyou-mybatis **Repository Path**: lumanto/jvyou-mybatis ## Basic Information - **Project Name**: jvyou-mybatis - **Description**: jvyou-mybatis - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: 2.0 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-04-25 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Jvyou-Mybatis

半自动化的ORM框架

以Jvyou-MyBatis之名,书写数据库对话的艺术

### 简介 欢迎来到Jvyou-Mybatis的世界!这是一款精心设计的持久层框架,旨在提供一种更简洁、更高效的方式来处理数据库操作,让您的Java应用程序与数据的交互变得如同呼吸般自然。 Jvyou-Mybatis融合了传统ORM框架的优点,同时引入了创新性的设计理念。它允许您直接编写SQL语句,而不必受限于框架的约束,从而确保了性能的最优化和灵活性的最大化。无论您是构建企业级应用,还是快速原型开发,Jvyou-Mybatis都能成为您的得力助手。 ### 使用文档 开发文档地址:http://139.224.217.179:520/ ### 准备 我们将通过一个简单的 Demo 来阐述 Jvyou-Mybatis 的强大功能,在此之前,我们假设您已经: - 拥有 Java 开发环境以及相应 IDE - 熟悉 Maven 或 Gradle 现有一张 User 表,其表结构如下: | id | name | age | email | |----|-------|-----|--------------| | 1 | Jvyou | 18 | jvyou@qq.com | | 2 | yy | 18 | yy@qq.com | | 3 | tom | 39 | tom@qh.com | | 4 | zqq | 10 | zqq@lmg.com | | 5 | xmm | 30 | xmm@sd.com | 其对应的数据库 Schema 脚本如下: ```sql DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `name` varchar(50) DEFAULT "" COMMENT '名称', `age` int DEFAULT 0 COMMENT '年龄', `email` varchar(50) DEFAULT "" COMMENT '邮箱', PRIMARY KEY (`id`) USING BTREE ); ``` 其对应的数据库 Data 脚本如下: ```sql DELETE FROM `user`; INSERT INTO `user` VALUES (1, 'Jvyou', 18, 'jvyou@qq.com'); INSERT INTO `user` VALUES (2, 'yy', 18, 'yy@qq.com'); INSERT INTO `user` VALUES (3, 'tom', 39, 'tom@qh.com'); INSERT INTO `user` VALUES (4, 'zqq', 10, 'zqq@lmg.com'); INSERT INTO `user` VALUES (5, 'xm', 30, 'xmm@sd.com'); ``` ### 初始化工程 1. **创建Maven或Gradle项目**:在IDE中创建一个新的Maven或Gradle项目,以便于管理项目依赖。 2. **项目结构**:规划好项目的目录结构,包括src/main/java、src/main/resources等。 ### 添加依赖 1. **使用Jar 包**:点击[下载地址](/jar/jvyou-mybatis-core-1.0-SNAPSHOT.jar)下载Jar包,然后添加到项目中。 2. **Maven/Gradle依赖**:在pom.xml/build.gradle文件中添加依赖,例如: ```xml [pom.xml] com.jvyou jvyou-mybatis 1.0.0 ``` ```groovy [build.gradle] dependencies { implementation 'com.jvyou:jvyou-mybatis:1.0.0' } ``` > danger 注意:exclamation::exclamation: > 由于项目属于开发初期,并没有上传到Maven仓库,所以解析不了上面的坐标,请手动下载Jar>包,然后添加到项目中。 ### 配置文件 1. **配置文件**:在src/main/resources目录下创建`mybatis-config.xml`配置文件,配置数据源、事务管理器、映射器等。 2. **数据库连接池配置**:使用PooledDataSource设置数据库连接池参数。 > `mybatis-config.xml`的名称不是固定的,你可以根据你的需求进行修改,解析成>`Configuration` > 对象。在`SqlSessionFactoryBuilder` > 执行`build(InputStream inputStream)`方法时,传递配置文件的输入流(或者配置文件>的名称),会通过`XmlConfigBuilder` > 解析配置文件,生成`Configuration`对象。 ```xml ``` ### 编码 **实体类**:根据数据库表结构创建对应的实体类。 ```java @Data @NoArgsConstructor @AllArgsConstructor public class User { private Long id; private String name; private Integer age; private String email; } ``` > 上面的实体类,使用了Lombok的注解,可以减少重复的getter、setter、构造器等方法,需要在>pom.xml中添加Lombok的依赖。 **Mapper接口**:定义Mapper接口`UserMapper,并使用@Select注解定义查询方法。 ```java @CacheNamespace public interface UserMapper { @Select("select * from user where id = #{id}") User findById(@Param("id") Long id); } ``` ### 开始使用 创建`UserMapperTest`类,作为`UserMapper`接口的测试类。 ```java class UserMapperTest { @Test void findById() { // 会话工厂构建器,用于解析配置文件,创建会话工厂 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(); // 会话工厂创建会话 SqlSession session = sqlSessionFactory.openSession(); // Session 会通过代理模式创建Mapper的示例对象 UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.findById(1L); System.out.println(user); } } ``` **输出结果:** ```text User(id=1, name=Jvyou, age=18, email=jvyou@qq.com) ``` ### 小结 Jvyou-Mybatis通过代理模式创建Mapper对象,采用注解方式实现Mapper方法调用,以及提供了池化的数据源PooledDataSource。它遵循木兰宽松许可证第2版,提供了灵活的数据访问层解决方案,适用于多种数据库,支持原生SQL编写,易于集成和扩展。通过上述步骤,你可以快速搭建起基于Jvyou-Mybatis的数据访问层,开始高效、便捷地处理数据库操作。