# POYEE BASE - 基础插件 > 基础方法 # 🌟 核心功能 - 自定义注解 [annotation](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fannotation) - 基础抽象方法 [base](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fbase) >- controller 控制层抽象类 >- service 业务层 抽象类 >- mapper 数据层抽象类 >>- mapper 接口 >>- provider 动态sql工具 >>>- 根据实体类注解 动态生成查询sql 不需要使用 mapper.xml 文件 \ 工具内集成基础的查询工具.更复杂的可以自定义手写sql >>>- mapper.java 继承 IBaseProvider \ 如果自定义手写sql 业务模块需要在mapper包下创建 provider包, 在其下创建*Provider class 根据需要 编写自定义sql逻辑的方法 \ 参考:https://blog.csdn.net/fmwind/article/details/81534357 >- entity,dto 实体类 - common 工具 [common](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fcommon) >- 常量 >- db生成工具插件 >- exception 业务异常工具 >- JsonMapperUtil 工具类 >- knife4j swagger2 插件 - config >- [自定义sql注入器 JoinSqlInjector](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fconfig%2FJoinSqlInjector.java) >- [redis配置](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fconfig%2FRedisConfig.java) - 多数据源配置 [dataSource](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2FdataSource) - easyExcel 插件 [easy](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Feasy) - enums 枚举 [enums](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fenums) - handler 监听器 [handler](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fhandler) >- easyExcel监听器 [EasyDataFormatHandler.java](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fhandler%2FEasyDataFormatHandler.java) >- easyExcel分页查询监听器 [PageReadListenerHandler.java](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fhandler%2FPageReadListenerHandler.java) >- mq [mq](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fmq) >- redis工具 [redis](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Fredis) >- 通用工具类 [util](src%2Fmain%2Fjava%2Fcom%2Fpoyee%2Futil) # 🛠️ 开发环境 # 🛠️ 技术架构