- 博客(27)
- 资源 (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
248
原创 MYSQL replace into联合主键 (使用实例)
MYSQL replace into 联合主键 更新插入项目场景:问题描述:解决方案:REPLANCE INTO 和联合主键 项目场景: 用户填表关联信息(姓名+身份证+卡号): 项目场景:填表时填写姓名自动联想以前填过的数据,但是可能同一姓名身份证对应多条卡号记录 问题描述: 提示:每次新增数据,姓名+身份证+卡号三条信息有相同的不插入,有差异则新增: 解决方案:REPLANCE INTO 和联合主键 把id主键删掉 ,将name,id_number,bank_aacount做联合主键 用 R
2020-10-28 10:59:25
2177
原创 Spring Security Oauth2 自定义DingTalkAuthenticationFilter登录钉钉小程序(以及登录 配置之后不生效 的问题)
Spring Security Oauth 自定义Filter 配置之后不生效 的问题问题解决过程追溯代码WebSecurityConfigurer extends WebSecurityConfigurerAdapter 是配置security的初始化DingTalkSecurityConfigurerDingTalkAuthenticationProviderDingTalkAuthenticationToken功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮
2020-10-28 10:36:43
2383
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
442
1
原创 自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录
这里写目录标题自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录需求:实力类的属性值在修改时变化了 ,需要将具体对象,什么属性 ,变化前后的值记录下来 ,形成变更记录;重点难点整体思路:app_changelog 存放变更记录的表自定义注解changeLog自定义注解FieldDescpojo类切面方法切面关键在于通过反射获取对应的类、方法和属性、属性值 自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录 需求:实力类的属性值在修改时变化了 ,需要将具体对象,什么属性 ,变化前后
2020-07-01 11:50:16
1586
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
1044
原创 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
732
原创 接入微信小程序公众号消息发送
接入微信小程序公众号消息发送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
2657
原创 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
3901
原创 使用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
546
原创 使用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
1531
原创 在线语音合成 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.jar app工程的pom文件修改 Msc.jar的scope和sy
2020-06-30 15:20:11
4392
原创 mybatis-plus 的常用方法
mybatis-plus 的常用方法 链接: MyBatis-Plus文档. 常用 查询/删除/更新 QueryWrapper //QueryWrapper AppMentalPatientVisitFile visitFile = baseMapper.selectOne(new QueryWrapper<AppMentalPatientVisitFile>().eq("patient_id", patientId)); lambdaQuery lambda表达式 //lambdaQue
2020-06-30 14:42:14
1492
原创 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
872
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
1841
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
284
原创 mysql 递归查所有子级 存储过程
mysql 身份证算年龄场景:mysql存储过程 替代 java递归知识点 场景:mysql存储过程 替代 java递归 知识点 SQL SELECT INTO 语句. FIND_IN_SET. // CREATE DEFINER=`root`@`%` PROCEDURE `getAllOrgChildren`(orgId VARCHAR(4000)) BEGIN DECLARE ids MEDIUMTEXT; DECLARE tempResult MEDIUMTEXT; SET SESSION g
2020-06-15 10:05:13
520
原创 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
596
原创 mysql 身份证算年龄
mysql 身份证算年龄场景:没有冗余年龄字段的情况下,列表查询通过身份证计算联络(如果有冗余年龄字段,需要单独创建定时任务,更新数据库年龄字段,增加了复杂度,容易出现问题,且不容易理解)问题:18位数身份证和15位身份证却别知识点 场景:没有冗余年龄字段的情况下,列表查询通过身份证计算联络(如果有冗余年龄字段,需要单独创建定时任务,更新数据库年龄字段,增加了复杂度,容易出现问题,且不容易理解) 问题:18位数身份证和15位身份证却别 知识点 差函数TIMESTAMPDIFF. case when. /
2020-06-03 10:59:49
519
原创 阅读记数
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
170
原创 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
2234
AreaData20191018.sql
2019-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅