111 lines
3.9 KiB
Markdown
111 lines
3.9 KiB
Markdown
jero-boot 低代码开发平台
|
||
===============
|
||
|
||
当前最新版本: 2.4.2(发布日期:20210126)
|
||
|
||
|
||
## 后端技术架构
|
||
- 基础框架:Spring Boot 2.3.5.RELEASE
|
||
|
||
- 持久层框架:Mybatis-plus 3.4.1
|
||
|
||
- 安全框架:Apache Shiro 1.7.0,Jwt 3.11.0
|
||
|
||
- 数据库连接池:阿里巴巴Druid 1.1.22
|
||
|
||
- 缓存框架:redis
|
||
|
||
- 日志打印:logback
|
||
|
||
- 其他:fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。
|
||
|
||
|
||
|
||
## 开发环境
|
||
|
||
- 语言:Java 8
|
||
|
||
- IDE(JAVA):IDEA安装lombok插件
|
||
|
||
- 依赖管理:Maven
|
||
|
||
- 数据库:MySQL5.7+
|
||
|
||
- 缓存:Redis
|
||
|
||
|
||
## 数据库设计规范
|
||
|
||
- 数据库表名全部使用小写,多个单词之间使用 _ 隔开
|
||
- 字段内容全部使用小写,多个单词之间使用 _ 隔开,并且每个字段需要有注释
|
||
- 每个表中都需要有id,用varchar(36)
|
||
- 新建的表中必须要有创建人(create_by)、创建时间(create_time)、更新人(update_by)、更新时间(update_time)、所属部门(sys_code)五个字段
|
||
- create_by 和 update_by 存用户账号
|
||
- id的增长规则设定保持统一,统一按照框架生成的内容形成
|
||
|
||
## 系统规范
|
||
|
||
- 日志记录
|
||
方法中使用`@AutoLog` 记录日志
|
||
- 异常处理
|
||
所有异常使用`JeroBootException`抛出
|
||
- 权限控制
|
||
需要进行数据权限控制
|
||
- 项目模块创建
|
||
后续创建模块在`jero-boot-modules.com.jero.modules.laws`
|
||
和`jero-boot-modules.com.jero.modules.project`下创建
|
||
- 系统导入
|
||
系统导入使用注解`@ExcelImport`进行字段校验
|
||
- 系统常量定义在`com.jero.common.constant.CommonConstant`下
|
||
|
||
## 专项文档
|
||
|
||
#### 一、查询过滤器用法
|
||
|
||
```
|
||
QueryWrapper<?> queryWrapper = QueryGenerator.initQueryWrapper(?, req.getParameterMap());
|
||
```
|
||
|
||
代码示例:
|
||
|
||
```
|
||
|
||
@GetMapping(value = "/list")
|
||
public Result<IPage<JeroDemo>> list(JeroDemo jeroDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||
HttpServletRequest req) {
|
||
Result<IPage<JeroDemo>> result = new Result<IPage<JeroDemo>>();
|
||
|
||
//调用QueryGenerator的initQueryWrapper
|
||
QueryWrapper<JeroDemo> queryWrapper = QueryGenerator.initQueryWrapper(jeroDemo, req.getParameterMap());
|
||
|
||
Page<JeroDemo> page = new Page<JeroDemo>(pageNo, pageSize);
|
||
IPage<JeroDemo> pageList = JeroDemoService.page(page, queryWrapper);
|
||
result.setSuccess(true);
|
||
result.setResult(pageList);
|
||
return result;
|
||
}
|
||
|
||
```
|
||
|
||
|
||
|
||
- 查询规则 (本规则不适用于高级查询,高级查询有自己对应的查询类型可以选择 )
|
||
|
||
| 查询模式 | 用法 | 说明 |
|
||
|---------- |-------------------------------------------------------|------------------|
|
||
| 模糊查询 | 支持左右模糊和全模糊 需要在查询输入框内前或后带\*或是前后全部带\* | |
|
||
| 取非查询 | 在查询输入框前面输入! 则查询该字段不等于输入值的数据(数值类型不支持此种查询,可以将数值字段定义为字符串类型的) | |
|
||
| \> \>= < <= | 同取非查询 在输入框前面输入对应特殊字符即表示走对应规则查询 | |
|
||
| in查询 | 若传入的数据带,(逗号) 则表示该查询为in查询 | |
|
||
| 多选字段模糊查询 | 上述4 有一个特例,若某一查询字段前后都带逗号 则会将其视为走这种查询方式 ,该查询方式是将查询条件以逗号分割再遍历数组 将每个元素作like查询 用or拼接,例如 现在name传入值 ,a,b,c, 那么结果sql就是 name like '%a%' or name like '%b%' or name like '%c%' | |
|
||
|
||
|
||
#### 三、代码生成器
|
||
|
||
> 功能说明: 一键生成的代码(包括:controller、service、dao、mapper、entity、vue)
|
||
|
||
- 模板位置: src/main/resources/jero/code-template
|
||
- 文件配置路径: jero-boot/jero-boot-single-startup/src/main/resources/jero/jero_config.properties
|
||
|