项目介绍:快速生成 SQL 和模拟数据的在线工具!基于React + TypeScript + Ant Design + Spring Boot + Mybatis Plus实现
项目内容:
1. 为了便于生成器服务针对不同类型的输入进行处理,定义统一的 Schema 类,使项目更易于维护、提升开发效率。
2. 门面模式:GeneratorFacade(便于调用),针对前端不同类型的代码生成,使用门面模式依次调用各种生成器并封装为统一的返回结果,便于前端调用和理解,减少重复请求。
3. 工厂模式 + 单例模式。为节省每次调用时创建生成器的开销,使用工厂模式 + 单例模式(懒汉式)来统一根据参数生成不同类型的生成器对象。
4. 其中,对于SQL代码生成器(SqlBuilder),使用方言来支持不同的数据库类型(策列模式),并使用单例模式 + 工厂模式创建方言实例(懒汉式)。
5. Freemarker 模板引擎,通过定义模板引擎配置 Bean(单例模式)来复用对象,节约内存开销。
6. 为了实现根据用户传入的 SQL 来生成代码的功能,利用 Druid 库中的 Parser 工具类来