3月12日-
构建若依前端依赖无法下载,使用npm低版本:
https://blog.csdn.net/xinzuini/article/details/116327598
若依系统增删改查原理:
①后端controller调用service,service调用mapper,mapper方法关联xml中的sql进行持久化。
②前端统一封装axios异步请求,并设置反向代理实现解决跨域问题
③前端页面调用api文件夹下的js方法,这些方法使用封装好的异步请求,并通过反向代理请求后端controller拦截器。
若依基本使用:
代码生成
建表、设置基本信息、生成代码(后端、前端、菜单sql)、导入重启项目。
生成的代码
①项目前端:
js文件:
封装了5个基本方法:条件查询(条件是query对象有表信息和分页的两个参数)、根据id查询、增加、删除、修改。
index文件:一个基本模板
②数据库文件:
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('测试', '1', '1', 'test', 'test/test/index', 1, 0, 'C', '0', '0', 'test:test:list', '#', 'admin', sysdate(), '', null, '测试菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('测试查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'test:test:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('测试新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'test:test:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('测试修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'test:test:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('测试删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'test:test:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('测试导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'test:test:export', '#', 'admin', sysdate(), '', null, '');
sql代码修改了菜单(因为系统的菜单是通过查数据库获得的)(下面的四条插入是条件查询的下面四个按钮)
③后端代码:
生成对应的实体类,拦截器,业务层代码和持久层代码。
(svn上的系统将controller放在admin模块下,将持久层和业务层放在system模块下。)
生成的代码包括5个拦截器:
①分页查询 @GetMapping("/list")
②导出excel @PostMapping("export")
③根据id查询 @GetMapping(value = "/{id}")
④添加 @PostMapping
⑤更新 @PutMapping
⑥根据列表删除 @DeleteMapping(value = "/{ids}")