基类使用和pigx生成代码流程
基类使用
后台查询接口定义方法
在sys_sqlds表中添加查询语句
image.png
sql_id配置接口标识sql_param配置权限标识,在菜单中管理中配置的按钮,用户要用指定权限才能调用,如果这个查询不需要登录就能调用配置sql_param 为固定的NO_TOKENsql_server配置SQL语句,参数用#{}定义
配置好sql语句后,前端就可以调用查询接口了
image.png
登录后才可以调用的接口:
/action/base/getData
/action/base/getPage
这个接口返回分页数据,需要加上参数{current: 1, size: 5},表示页码和一页的记录数
/action/base/getTreeData
这个接口查询要求必须返回字段id和parentid,SQL如:
select adcode id , pid parentid, name from sys_area
接口将返回一个树型结构如:
image.png
不需要登录调用的接口:
/action/base/getInnerData
参数返回同getData
/action/base/getInnerTreeData
参数返回同getTreeData
/action/base/getInnerPage
参数返回同getPage
登录后调用的接口要传Header
Authorization: Bearer 898d256a-2c3a-4884-9301-0cc28c7e6ed3
Bearer后面是登录获取的token
后台业务接口定义
参数代码
@Slf4j
@RequiredArgsConstructor
@Service("userService")// 1
public class UserServiceImpl implements UserService {
private final CommonDAO commonDAO; //2
private final OplogService oplogService; //3
@Override
@Authorize({"sys_user_export"})
public R addUser(JSONObject jsonObject) {
List<Map> userList = commonDAO.getData("getUserList",
new HashMap(Map.of("user_id", jsonObject.getLong("user_id"))))
.getData(); //4
Oplog oplog = new Oplog();
oplog.setName("1234");
oplogService.save(entity); //5
return R.ok(userList);//6
}
}
- 定义service名
- 定义commonDAO用于调用getData查询数据
- 定义OplogService,这个可以用后面介绍的代码生成功能生成,包含了一些增、删、改、查的Mybatis Plus方法
- 可以使用代码生成的OplogService的query方法用查询,也可以使用commonDAO.getData查询,这个查询写sql在sys_sqlds表中,前面已介绍
- 调用
OplogService的方法保存数据 - 返回数据
前端调用
URL /action/base/setData
service 对应代码语句1中定义的service名
func 对应方法名
json对应json参数,后台可以取出来,注意一个数组:[{},{}],可以同时调用多次接口
image.png
代码生成功能使用
提供交互式的 Web UI 用于生成兼容 mybatis-plus 框架的相关功能代码,包括 Entity,Mapper,Mapper.xml,Service,Controller、前端 vue 等 ,可以自定义模板以及各类输出参数,实现更高灵活度的代码生成。
一、 目标数据源维护
开发平台>数据源管理 > 新增
警告
在维护之后,可以在数据源管理的表格中选择相应的数据源,然后在右侧操作栏中导出相关的数据库文档。
image.png
二、数据表管理 【可选】
此步骤为可选操作。PIGX 支持在前端进行在线建表与表结构设计;如需更复杂的操作(如索引设置等),请使用专业的数据库设计工具在本地完成。
gUlkve.png
特别说明
【数据表管理】界面仅展示用户在该界面中新建的表,不会加载历史已有的数据表,以避免因在线编辑带来的安全风险。
三、 生成代码设计
image.png
【同步】表结构
请谨慎使用“同步”功能,因为它会获取表的元信息(字段等)并覆盖上次代码设计的结果。
①【生成】基本信息
1685863261.png
-
① 本次生成代码表注释,如果表注释为空则需要手动填写
-
② 当前代码所属 PIGX 模块名称(固定填
action)项目包名(固定填com.yhwl.hzsystem) -
③ 当前代码的功能名引文 (比如 address),经过 ② ③ 设置可获得 java package 为如下的代码
package 项目包名.模块名.功能名
-
④ 选择代码风格,默认: 生成单表的增删改查、前后端代码等,主子表: 详细第四节说明
-
⑤ 后端生成路径, 点击代码生成生成的相关的后端代码会自动移动到此目录下方便开发
#示例:生成的后端放在单体项目的hzsystemx-action-biz 目录下
/Users/lizhiqin/IdeaProjects/carboncredit/carboncredit/hzsystem-action/hzsystem-action-biz
警告
所属菜单第一次生成时选择,后面生成是清空,否则会生成重复的菜单
生成的实体类统一移动到api模块entity包下
image.png
- ⑥ 前端生成路径, 点击代码生成生成的相关的前端代码会自动移动到此目录下方便开发
#示例:生成的前端放在单体项目UI目录下
/Users/lizhiqin/IdeaProjects/carboncredit/carboncredit-ui
②【生成】属性设置
该功能可以自动管理目标表的字段信息,并自动匹配字段对应的 java 类型。 请注意:
- 维护字段说明
- 如果是字典类型的字段,请维护关联的字段名
- 自动填充策略对应 mybatis-plus 的自动填充策略。
1685863927.png
③【生成】列表查询
该功能可控制生成的表格界面及其查询相关字段。 请注意:
- 列表显示:控制此字段是否在表格中显示
- 是否显示:控制此字段是否作为查询条件在顶部显示。
1685864327.png
④【生成】表单页面
该功能可控制生成的表单界面 请注意:
- 是否显示:控制此字段是否在表单中显示。
1685864471.png
四、主子表(一对多)代码生成
① 子表配置
在上文 二、①基本信息维护时,如点击子表按钮,会自动弹出子表配置界面
1685864831.png
如何理解主子表
-
主表字段: 选择主表 user 中的关联条件字段(一般为主键 id)
-
子表字段: 选择从表 address 中的关联条件字段 (user_id)
1685865457-2.jpg
② 风格选择
警告
如需要主子表代码生成,必须选择 主子表风格
image.png