Chuenhung的个人网站

chuenhung.github.io

MySQL触发器

语法:

1
2
3
4
5
6
CREATE TRIGGER 触发器名 
触发器时间 触发事件
ON 表名 FOR EACH ROW
BEGIN
执行语句
END

说明:

1、触发器名 - 触发器的名称
2、触发器时间 - 触发器触发的时机,值为 BEFORE或AFTER
3、触发器事件 - 引起触发器触发的事件,值为INSERT或UPDATE或DELETE
4、表名 - 触发触发器的表名,即该触发器是建立在那张表上面的
5、执行语句 - 即为触发器出发后执行的操作。可以使用old和new关键字。

示例:

1
2
3
4
5
6
7
8
9
DELIMITER $$
CREATE
TRIGGER `update_department_id`
AFTER UPDATE
ON `wb_user`
FOR EACH ROW BEGIN
UPDATE wb_user_20230817 set department_id = '123456' where mobile = '187****785';
END$$
DELIMITER ;

因为会造成死循环,在同一个表中不能使用insert/update/delter,否则会报错。

阅读全文 »

快捷键

执行sql语句:ctrl+enter
sql模板(可以自定义设置):sf、swhere、scount
格式化:ctrl+shift+f
转为大写:ctrl+shift+x
转为小写:ctrl+shift+y
放大/缩小sql编辑器的字体大小:ctrl+、ctrl-

SQL模板xml文件

使用方法,新建一个xml -> 使用下面的代码填充 -> 在界面中导入:

1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="sql" deleted="false" description="" enabled="true" name="delf">delete from ${table};</template><template autoinsert="true" context="sql" deleted="false" description="删除" enabled="true" name="delw">delete from ${table} where ${column}='${value}';</template><template autoinsert="true" context="sql" deleted="false" description="select row count" enabled="true" id="org.jkiss.dbeaver.templates.scount" name="scount">select count(*) from ${table};</template><template autoinsert="true" context="sql" deleted="false" description="select * from " enabled="true" id="org.jkiss.dbeaver.templates.sf" name="sf">select * from ${table};</template><template autoinsert="true" context="sql" deleted="false" description="select with group by" enabled="true" name="sg">select * from ${table} where ${column}='${value}' group by ${column};</template><template autoinsert="true" context="sql" deleted="false" description="select with order by" enabled="true" id="org.jkiss.dbeaver.templates.scob" name="sorder">select * from ${table} t order by ${column};</template><template autoinsert="true" context="sql" deleted="false" description="select with condition" enabled="true" id="org.jkiss.dbeaver.templates.swhere" name="sw">select * from ${table} where ${column}='${value}';</template><template autoinsert="true" context="sql" deleted="false" description="" enabled="true" name="updf">update ${table} set  ${column}='';</template><template autoinsert="true" context="sql" deleted="false" description="更新" enabled="true" name="updw">update ${table} set  ${column}='' where ${column}='${value}';</template></templates>

效果如下:
在这里插入图片描述

阅读全文 »

示例代码如下:
抽象类

1
2
3
4
5
6
7
8
9
10
public abstract class AbstractWaterMark {

@Autowired
private AchievementApplicationService achievementApplicationService;

public AchievementApplication queryByCode(String code){
return achievementApplicationService.queryByCode(code);
}

}

增加子类(需要@Service注解)

1
2
3
4
@Service
public class WaterMark extends AbstractWaterMark {

}
阅读全文 »

word转pdf的相关第三方jar说明

  • docx4j
    免费开源、稍微复杂点的word,样式完全乱了,且xalan升级为2.7.3后会报错。
  • poi
    免费开源、官方文档少、学习成本大、使用复杂、生成的样式也有问题。
  • aspire.doc
    样式保留很好、使用方便。
    未付费时,第一行会有红色水印且超过500个段落(大概25页)会被截取。
    网上没有破解版。
  • aspose.words
    样式保留很好、使用方便。
    网上有破解版。
  • documents4j
    样式保留很好、使用方便。
    底层直接调用微软的office所以,完美保留样式
阅读全文 »

SVN版本回退

一、revert to this version和revert to this version的区别:
在这里插入图片描述

基于4674版本执行"revert to this version"操作效果:
在这里插入图片描述

基于4674版本执行"revert changes from this version"操作效果:

在这里插入图片描述

二、update to revision和revert to revision的区别(来源于网络未验证):

  • revert to revision会把这个rev作为最新版本,而update to revision不会。
  • revert to revision 永久恢复到以前的某个版本(含当前版本)。
  • update to revision 临时恢复到以前的某个版本。
0%