# 代码生成 - - - ## 功能介绍 ### 数据源配置 ![输入图片说明](https://foruda.gitee.com/images/1678976867341325193/a2be0608_1766278.png "屏幕截图") **>= 4.1.0版本 项目适配多种类型数据库 可以在代码生成页面切换**
> 填写对应的数据源名称 点击搜索按钮 即可切换到对应的数据源
![输入图片说明](https://foruda.gitee.com/images/1678976876081856486/4ef4841c_1766278.png "屏幕截图") **>= 5.2.2版本 项目支持100+种数据库适配 在代码生成模块增加对应的数据库依赖即可**
![输入图片说明](https://foruda.gitee.com/images/1722396530340741054/3914eb72_1766278.png "屏幕截图") ### 导入数据表 > 点击导入按钮 会加载系统数据库所有的表
![输入图片说明](https://foruda.gitee.com/images/1678976880393939803/3ecf1dcc_1766278.png "屏幕截图") > 选择需要的表 点击确定即可
![输入图片说明](https://foruda.gitee.com/images/1678976885370716109/4834faa5_1766278.png "屏幕截图")
![输入图片说明](https://foruda.gitee.com/images/1678976891856866728/853420d9_1766278.png "屏幕截图") ### 编辑表生成结构 > 点击表对应的编辑按钮
![输入图片说明](https://foruda.gitee.com/images/1678976899111822310/aeaa33f9_1766278.png "屏幕截图") > 更改要生成表的数据
![输入图片说明](https://foruda.gitee.com/images/1678976903345795925/4326f6ee_1766278.png "屏幕截图")
![输入图片说明](https://foruda.gitee.com/images/1678976908897387614/4cdf939b_1766278.png "屏幕截图") ### 生成条件影响 ![输入图片说明](https://foruda.gitee.com/images/1678976913809284051/24da09b0_1766278.png "屏幕截图") * `插入` `编辑` 影响生成 BO 类 与 前端添加编辑页面 是否有该字段 * `列表` 影响生成 VO 类 与 前端列表页面展示 是否有该字段 * `查询` 影响 前端页面是否有该字段的搜索框 与 后端代码是否生成对应的查询条件 * `查询方式` 影响生成查询条件的类型 * `必填` 影响 BO 类 与 页面是否强制校验 * `显示类型` 影响生成页面使用何种展示组件 * `字典类型` 影响页面是否生成与字典的关联 ### 树表配置 > 编辑表生成信息 生成模板为 `树表` 填写对应数据即可
![输入图片说明](https://foruda.gitee.com/images/1678976917918548901/f5886c5c_1766278.png "屏幕截图") ### 主子表说明 框架不支持也不推荐使用主子表
原因一般业务场景 基本都是一对N表 多表关联场景
还有一些 主 => 子 <= 主 场景 需求很复杂 很少有单纯主子表场景出现
另外主子表关联 很容易出现 笛卡尔积 或者数据错乱等问题 需要自行sql调优场景
所以建议大家都按照 单表生成 自行编写业务逻辑 ### 预览功能 > 配置好生成信息后 可以点击预览按钮
![输入图片说明](https://foruda.gitee.com/images/1678976924411765532/2e9747df_1766278.png "屏幕截图") > 系统会根据已经配置好的数据 生成对应的代码预览
> 可以再此处观察代码的生成结构和数据是否正确等
![输入图片说明](https://foruda.gitee.com/images/1678976945982406065/ca7383bb_1766278.png "屏幕截图") ### 代码结构同步 > 实际开发中 难免会有表结构更改的需求
> 这时可以使用 同步功能 点击同步按钮 即可与实时数据库表进行字段同步
![输入图片说明](https://foruda.gitee.com/images/1678976952919156537/3c47c078_1766278.png "屏幕截图")