Callout
Callout类似于数据库的存储过程、存储函数,当一个值改变时,另一个值也跟着改变。
工厂类:在Factory包中新建CalloutFactory类,继承CustomCalloutFactory
创建CalloutFactory.xml文件,name和class选自己新建的类,service添加IColumnCalloutFactory
创建Callout类,见名知意,以Callout结尾,继承CustomCallout
在工厂类中注册Callout类,注册时需要指定哪个表的那个字段发生变化时,会触发该类
导包的快捷键,ctrl+shift+o
Callout事件在beforeSave和AfterSave之前先触发,是值改变事件
应用场景:一个字段的值会随着 其他某个字段的改变而改变,如果会随着多个字段的改变而改变时,则需要创建多个Callout类,分别进行值的修改。
Process
新建Process继承CustomProcess,实现方法,prepare是前置准备,一般不用;主要使用doIt方法
Process有两种用法:
当成一个按钮,点击后去更新状态等操作,一般是调用第三方和第三方对接,包括对接中间库、对接接口等
例子:点击按钮后修改有效状态
在数据库中创建btnChange字段,在前端student表与列中点击从数据库中创建列,在表与列中找到btn_change,将引用改为按钮
然后点击流程,新建流程,Java类名称填写自己新建的DemoProcess的全类名,名称是DemoProcess,即全类名去掉前面的部分。
填写描述
修改数据库访问级别为全部。保存
返回表与列,将新建的流程填入,这样会将按钮和后台的process关联起来,可以去点击。(同步列)
进入学生表的页签,点击创建字段,在页签编辑器中修改名称和大小
123456789@Override protected String doIt() throws Exception {// 点击按钮后修改有效状态,修改学生表的IsActive状态 ...
idea快捷键
Ctrl+Shift + Enter,语句完成。
“!”,否定完成,输入表达式时按 “!”键。
Ctrl+E,最近的文件。
Ctrl+Shift+E,最近更改的文件。
Shift+Click,可以关闭文件。
Ctrl+[ OR ],可以跑到大括号的开头与结尾。
Ctrl+F12,可以显示当前文件的结构。
Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择。
Ctrl+N,可以快速打开类。
Ctrl+Shift+N,可以快速打开文件。
Alt+Q,可以看到当前方法的声明。
Ctrl+P,可以显示参数信息。
Ctrl+Shift+Insert,可以选择剪贴板内容并插入。
Alt+Insert,可以生成构造器/Getter/Setter等。
Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义。
Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch。
Ctrl+Enter,导入包,自动修正。
Ctrl+Alt+L,格式化代码。
Ctrl+Alt+I,将选中的代码进行自动缩进编排,这个功能 ...
接口开发规范
service层不允许传递对象值,需要明确基本参数
service方法命名select/get/selectGroup/selectByCondation
工具及方法的返回值和接收参数尽量使用java级的标准接口对象,如DataSource、Properties,不要返回个性对象
api路径格式要求:
路径编排: /名词/名词/…/动词
不允许出现getStudent(驼峰命名法)、GetStudent(帕斯卡命名法)、get_student(匈牙利命名法),只允许出现纯小写字母 student/get
【推荐】单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则: 1) 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进,参考示例。 2) 运算符与下文一起换行。 3) 方法调用的点符号与下文一起换行。 4) 方法调用时,多个参数,需要换行时,在逗号后进行。 5) 在括号前不要换行,见反例。
12345678910111213141516正例:StringBuffer ...
平台
后台自开发http、bean响应参数说明: 1、自开发http接口统一返回JSONResult,自定义其中的code、message、result 2、自开发bean,如果有异常可抛出平台自定义的异常BizException,记录code和message,平台对响应参数进行封装成返回前台
简单的controller接口开发
简单的controller接口开发
@RequestMapping(“inner/test/emp”),如果需要登录后才能调用,加上inner;否则加上open
@RestController
nginx命令
重启nginx ./nginx -s reload 重新加载配置文件
停止nginx ./nginx -s stop
授权
新建用户
1CREATE USER 'ai_research'@'%' IDENTIFIED BY 'P@ssW0Rd';
授予权限
123GRANT ALL PRIVILEGES ON *.* TO 'ai_research'@'%';FLUSH PRIVILEGES;
常用命令
查找文件: find / -type f -name "文件名"
移动文件或重命名:mv
查看端口:ss -tulp | grep PORT_NUMBER或者netstat -tulpn | grep PORT_NUMBER
安装.deb文件:sudo dpkg -i 软件包名.deb
进入docker目录: docker exec -it 容器名或id /bin/bash
查看docker日志:docker logs -f -n 500 容器名或id
导出docker日志:docker logs -f -n 500 容器名或id > 文件名
chown (change owner) : 修改所属用户与组。
chmod (change mode) : 修改用户的权限。
接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
每个文件的属性由左边第一部分 ...
unzip中文乱码
在 Linux 中解压中文文件名压缩包时出现乱码,是因为 unzip 命令默认使用系统的本地编码来解压,而 Windows 下生成的 zip 文件中的编码是 GBK/GB2312 等,导致这些 zip 文件在 Linux 下解压时出现乱码问题。
解决方法:
使用 -O 选项指定编码:
1unzip -O CP936 xxx.zip
该命令将使用 GBK/GB2312 编码来解压 xxx.zip 文件。
使用 unar 命令:
1unar xxx.zip
unar 命令支持自动识别编码,可以正确解压中文文件名压缩包。
安装 unzip-iconv:
1sudo apt install unzip-iconv
安装 unzip-iconv 后,就可以使用 -O 选项来指定编码了。
使用其他解压工具:
7-Zip
PeaZip
File Roller
这些解压工具都支持自动识别编码,可以正确解压中文文件名压缩包。
在 Ubuntu 系统中,可以使用 unzip 命令解压 zip 文件到指定路径。
基本语法:
1unzip [-c][-d dire ...