# gulosity-mybatis-plugin **Repository Path**: opdar/gulosity-mybatis-plugin ## Basic Information - **Project Name**: gulosity-mybatis-plugin - **Description**: Mybatis-Spring扩展包,启动时根据实体动态生成常用方法和ResultMap,无需创建xml即可使用。 - **Primary Language**: Java - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 22 - **Forks**: 4 - **Created**: 2016-12-23 - **Last Updated**: 2025-02-06 ## Categories & Tags **Categories**: database-dev **Tags**: None ## README #gulosity-mybatis-plugin ### 自动生成resultMap和常用方法的spring小插件,原理为启动时扫描对应注解的实体,通过dom创建相应的代码在加载入mybatis。 #### Maven Dependency ```xml com.opdar.plugins gulosity-mybatis-plugin v1.1.7 ``` [更多使用文档](https://doc.oschina.net/gmplugin) Spring配置,将原有的`org.mybatis.spring.SqlSessionFactoryBean`替换为**`com.opdar.plugins.mybatis.core.GuSqlSessionFactoryBean`** ```xml <-- 数据源 --> <-- Namespace对应的实体扫描路径 --> <-- 库名,默认为空,即表名不加前缀 --> <-- 表前缀,默认为空,即表名不加前缀 --> <-- Mapper扫描路径 --> ``` ##### 首先创建一个接口,这一步基本与原来一样,根据该接口插件会生成Mapper Proxy。只是接口需继承**`com.opdar.plugins.mybatis.core.IBaseMapper`** ```java /** * Mapper Interface **/ class UserMapper extends IBaseMapper{ //... } ``` ##### 第二,选择一个需要自动生成mapper的实体 ```java /** /** * 实体对象 **/ @Namespace(UserMapper.class) class UserEntity{ private String id; private String userName; private String userPwd; //... } ``` ##### 这样的一个实体将会生成名为`userResult`的resultMap,以及`selectOne`,`selectList`,`insert`,`update`,`delete`,`count`的六个方法。 ##### Mapper的Namespace为"包名.UserMapper",对应该namespace的xml无所谓创建与否,都可以生成这些方法。当然也可以创建后复写该resultMap和六个方法。 例: ```xml ``` ##### 在这里我对selectOne方法进行了复写,并且新增了一个selectOne2的方法,启动时插件将会忽略生成selectOne方法。 ##### 当然,如果没有那么复杂的需求,以上的xml文件也可以完全删除,插件将会自动生成一个Mapper加载入程序。