- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 java 继承过程中 代码加载的顺序
java 继承过程中 代码加载的顺序class GP {String say = “我是GP”;static { System.out.println("这是GP静态代码块");}{ System.out.println("这是GP动态代码块");}GP() { System.out.println("这是GP构造方法");}public void getSay() { System.out.println(this.say);}}class
2020-12-17 09:40:51 169
原创 MYSQL replace into联合主键 (使用实例)
MYSQL replace into 联合主键 更新插入项目场景:问题描述:解决方案:REPLANCE INTO 和联合主键项目场景:用户填表关联信息(姓名+身份证+卡号):项目场景:填表时填写姓名自动联想以前填过的数据,但是可能同一姓名身份证对应多条卡号记录问题描述:提示:每次新增数据,姓名+身份证+卡号三条信息有相同的不插入,有差异则新增:解决方案:REPLANCE INTO 和联合主键把id主键删掉 ,将name,id_number,bank_aacount做联合主键 用 R
2020-10-28 10:59:25 1961
原创 Spring Security Oauth2 自定义DingTalkAuthenticationFilter登录钉钉小程序(以及登录 配置之后不生效 的问题)
Spring Security Oauth 自定义Filter 配置之后不生效 的问题问题解决过程追溯代码WebSecurityConfigurer extends WebSecurityConfigurerAdapter 是配置security的初始化DingTalkSecurityConfigurerDingTalkAuthenticationProviderDingTalkAuthenticationToken功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮
2020-10-28 10:36:43 2136 1
原创 int 作为POJO类属性的坑
int 作为POJO类属性的坑Lombok 主键更新 updateById ,这一句主键更新没有更新floorNumber 但是floorNumber 每次都被更新为 0 @ApiModelProperty(value = "楼层") private int floorNumber;Integer up = 100;baseMapper.updateById(AppVillageCircleComment.builder().id(id).supportedQuantity(up).buil
2020-07-01 14:31:27 337 1
原创 自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录
这里写目录标题自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录需求:实力类的属性值在修改时变化了 ,需要将具体对象,什么属性 ,变化前后的值记录下来 ,形成变更记录;重点难点整体思路:app_changelog 存放变更记录的表自定义注解changeLog自定义注解FieldDescpojo类切面方法切面关键在于通过反射获取对应的类、方法和属性、属性值自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录需求:实力类的属性值在修改时变化了 ,需要将具体对象,什么属性 ,变化前后
2020-07-01 11:50:16 1332 1
原创 二维码扫码登陆流程
二维码扫码登陆流程有web端和APP端,App扫码登陆web端扫码登陆流程请求keyAPP客户端扫码轮询查状态登录流程有web端和APP端,App扫码登陆web端扫码登陆流程请求key生成一个uuid的key返回前端 同时存入redis并初始状态为 0 ,失效时间为三分钟value 逗号分隔 前面表示状态 (0-未扫码,1-已扫码,2-已登陆)逗号后面随便放个值,等确认登陆后存用户账号 (手机号)@ApiOperation(value = "获取二维码登陆初始key") @Post
2020-07-01 10:51:32 871
原创 map的key定义排序规则 TreeMap
map的key定义排序规则 TreeMap场景:将文件按照创建时间 年月 分组 排序后返回给前端场景:将文件按照创建时间 年月 分组 排序后返回给前端hashMap是无序的 所有使用TreeMap 并重定义 key的排序规则 comparator//确定key的排序规则 Comparator comparator = new Comparator() { @Override public int compare(Object o1, Object o2) { Intege
2020-06-30 18:02:14 627
原创 接入微信小程序公众号消息发送
接入微信小程序公众号消息发送1、引入依赖2、 在bootstrap.yml配置对应的公众号的信息3、WxMpProperties 读取配置文件信息4、配置类 WxMpConfiguration5、写一个发送公众号信息的工具类6、发送公众号消息的案例微信小程序,公众号等接口都在这里有微信接入,WxJava - 微信开发 Java SDK(开发工具包)的git地址weixin-java-mp 对应的公众号1、引入依赖<dependency> <groupId>com.g
2020-06-30 16:31:05 2257
原创 LocalDateTime比较时间并显示具体时间差
LocalDateTime比较时间并显示具体时间差Duration.between() 可以精确到天/小时/分秒DateUtil.formatBetween(betweenMs, level)案例Duration.between() 可以精确到天/小时/分秒toDays()/toHours()/toMinutes()Long diff = Duration.between(LocalDateTime.now(), taskInfoVO.getLastTime()).toMillis();DateU
2020-06-30 15:55:20 3386
原创 使用ffmpeg执行amr转mp3
使用ffmpeg执行amr转mp3先在linux安装 ffmpeg调用linux的command命令 执行amr转mp3 public static void amrToMP3(String localPath, String targetFilePath) { log.info("执行amr转mp3"); String command = "ffmpeg -i " + localPath + " " + targetFilePath; log.info("the command is
2020-06-30 15:46:07 425
原创 使用ffmpeg截取视频第一帧
使用ffmpeg截取视频第一帧先在linux安装 ffmpeg调用linux的command命令 截取视频第一帧public static void VideoCutFirstPicture(String localPath, String targetFilePath) { log.info("截取视频的第一秒图片"); String command = "ffmpeg -i " + localPath + " -f image2 -ss 1 -frames:v 1 -y " +
2020-06-30 15:44:37 1345
原创 在线语音合成 Java SDK 文档(科大讯飞)
在线语音合成 Java SDK 文档1. SDK引入2.库文件引入3.工具类MscUtil科大讯飞官方文档地址.1. SDK引入将Msc.jar包放到lib文件夹,lib文件夹放到项目根目录(目前是app工程的根目录);[^1]还需要json-jena-1.0.jar,这个jar包由讯飞提供,但是直接增加pom中org.json的依赖也行(本工程用的org.json,没有使用讯飞的jar包);pom文件引入本地jar包 Msc.jarapp工程的pom文件修改 Msc.jar的scope和sy
2020-06-30 15:20:11 3510
原创 mybatis-plus 的常用方法
mybatis-plus 的常用方法链接: MyBatis-Plus文档.常用 查询/删除/更新QueryWrapper//QueryWrapperAppMentalPatientVisitFile visitFile = baseMapper.selectOne(new QueryWrapper<AppMentalPatientVisitFile>().eq("patient_id", patientId));lambdaQuery lambda表达式//lambdaQue
2020-06-30 14:42:14 1408
原创 sql查询参数 传值到 连接查询
变量传值给连接查询新增一个字段,做跳板,把参数传递给连接查询 {openId} as currentId新增一个字段,做跳板,把参数传递给连接查询 {openId} as currentId// resultMap<resultMap id="appDeliberativeMeetingProgressOpenIdMap" type="com.sinoecare.vc2.common.core.bean.AppDeliberativeMeetingProgress"> <id
2020-06-30 14:22:47 760 1
转载 Mysql存储过程查询结果赋值到变量的方法
Mysql存储过程查询结果赋值到变量的方法转载: [Mysql存储过程查询结果赋值到变量的方法](https://www.cnblogs.com/mytzq/p/7090197.html).转载: Mysql存储过程查询结果赋值到变量的方法.drop table if exists test_tbl;create table test_tbl (name varchar(20), status int(2));insert into test_tbl values('abc', 1),('edf',
2020-06-15 11:21:09 1692 1
原创 mysql 地区全名 存储过程
mysql 身份证算年龄场景: 查询地区所有上级名称 组成地区全名知识点场景: 查询地区所有上级名称 组成地区全名知识点SQL SELECT INTO 语句.Mysql存储过程查询结果赋值到变量的方法.// CREATE DEFINER=`root`@`%` PROCEDURE `FULL_NAME_PROC`(in areaId varchar(32) , out fullName varchar(64))BEGIN-- 根据地区id得到地区全名declare `@n1` VARCH
2020-06-15 11:18:24 206
原创 mysql 递归查所有子级 存储过程
mysql 身份证算年龄场景:mysql存储过程 替代 java递归知识点场景:mysql存储过程 替代 java递归知识点SQL SELECT INTO 语句.FIND_IN_SET.// CREATE DEFINER=`root`@`%` PROCEDURE `getAllOrgChildren`(orgId VARCHAR(4000))BEGINDECLARE ids MEDIUMTEXT;DECLARE tempResult MEDIUMTEXT;SET SESSION g
2020-06-15 10:05:13 443
原创 mybatis Mapper resultMap Collection 连接查询
mybatis Mapper resultMap Collection 连接查询场景:查详情接口,连接查询。 查询投票详情同时连接查询投票选项问题:参数传递 column="openId=open_id,voteId=vote_id}"知识点场景:查详情接口,连接查询。 查询投票详情同时连接查询投票选项问题:参数传递 column=“openId=open_id,voteId=vote_id}”知识点resultMap .// resultMap <resultMap id="a
2020-06-03 11:12:06 511
原创 mysql 身份证算年龄
mysql 身份证算年龄场景:没有冗余年龄字段的情况下,列表查询通过身份证计算联络(如果有冗余年龄字段,需要单独创建定时任务,更新数据库年龄字段,增加了复杂度,容易出现问题,且不容易理解)问题:18位数身份证和15位身份证却别知识点场景:没有冗余年龄字段的情况下,列表查询通过身份证计算联络(如果有冗余年龄字段,需要单独创建定时任务,更新数据库年龄字段,增加了复杂度,容易出现问题,且不容易理解)问题:18位数身份证和15位身份证却别知识点差函数TIMESTAMPDIFF.case when./
2020-06-03 10:59:49 432
原创 阅读记数
mysql 阅读记数场景:阅读点击 自增点击量 hit_count问题: hit_count 可能出现未初始化的情况 hit_count = hit_count +1 会出现报错知识点 [IFNULL](https://www.runoob.com/mysql/mysql-func-ifnull.html).场景:阅读点击 自增点击量 hit_count问题: hit_count 可能出现未初始化的情况 hit_count = hit_count +1 会出现报错知识点 IFNULL./
2020-06-03 10:46:55 112
原创 mysql 字段非空 非null判断
mysql 字段非空 非null判断判断字段 t1.parent_id 不仅不为空 并且不为null判断字段 t1.parent_id 不仅不为空 并且不为null场景:判断二级组织 type字段不准确 通过判断parent_id是否存在来确定它是否为二级组织// An highlighted block(ISNULL(t1.parent_id) || LENGTH(trim(t1.parent_id)) < 1)...
2020-06-03 10:37:58 2062
AreaData20191018.sql
2019-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人