JAVA
文章平均质量分 56
ILoveController
这个作者很懒,什么都没留下…
展开
-
SpringBoot整合RabbitMQ,实现MQ动态配置交换机-路由-队列信息
YamlAndPropertySourceFactory.class:该类为了解决读取yaml以及yml配置文件无法映射的问题。可根据不同的交换机,进行队列,路由的定义。也可以对队列路由进行扩充。目前这里只用到直连类型的交换机。动态参数配置校验(校验可不配置):可根据不同的交换机类型,做校验,这里是对直连交换机的参数做的校验。以上五个步骤就完成了根据配置文件初始化rabbitMQ的交换机-路由-队列。扩充的属性可以看(三)中对应的实体类。如果可以映射配置文件,可以忽略这个。原创 2023-09-05 10:14:42 · 1290 阅读 · 0 评论 -
异步线程池+多线程实现EXCEL填充,打包(zip)及上传
需求背景:1、通过筛选条件过滤数据(多线程主要解决这一步查询慢的问题)2、数据填充EXCEL3、多EXCEL打zip包上传到文件服务器4、先返回下载信息,再同步导出EXCEL报表数据主要逻辑和方法:注册异步线程池 /** * 注册异步线程池 */ @Bean("asyncThreadPool") public ThreadPoolTaskExecutor asyncThreadPoolTaskExecutor() {原创 2021-12-15 11:54:49 · 1459 阅读 · 0 评论 -
JAVA对接微信小程序,实现订阅消息推送功能
接之前微信公众号的需求后,现在又需要对接微信小程序,实现订阅消息推送功能。我把相关的实现逻辑,注意事项总结了一下。一、配置信息#################微信渠道-服务号####################granttype可共用wechat.auth.granttype=client_credentialwechat.auth.token=Qwer@123wechat.auth.appid=xxxxxxxxxxwechat.auth.secret=xxxxxxxxxx#原创 2021-03-15 11:39:59 · 1721 阅读 · 0 评论 -
JAVA对接微信公众号(服务号、订阅号)实现模板消息推送功能
最近做了个需求要求对接微信公众号,使用模板进行消息推送,今天抽时间总结一下相关的逻辑。大概逻辑分为四个步骤:获取微信调用接口凭证access_token。 获取微信模板列表。 使用模板进行消息推送。 公众号配置服务器URL。我这里的实现没有使用微信公众号weixin-java-mp依赖,完全是根据微信官方文档的提示写的代码。一、二、获取access_token和模板列表 @Override public String getAccessToken() {原创 2020-12-24 17:49:59 · 6389 阅读 · 2 评论 -
restTemplate.postForObject调用接口,接口入参是@RequestParam的方案及其他使用
最近在调用其他系统的接口时,遇到的问题。由于接口文档给的写的模糊不清,导致接口一直没有调用通。后来索性要了代码权限自己看他写的接口。一、接口入参是@RequestParam的post请求1、接口方接口:2、请求代码:header设置contentType为application/x-www-form-urlencoded 等同于URL后直接拼接参数。//headerHttpHeaders header = new HttpHeaders();header.setContentT原创 2020-12-17 11:36:16 · 2983 阅读 · 2 评论 -
MYSQL通过数据库中json数据的key筛选数据
SELECT *FROM tableWHERE LOCATE('1',JSON_EXTRACT(json_column, '$[*].json_key')) > 0JSON_EXTRACT(存放json的字段,json的key)函数。关于JSON_EXTRACT()的用法拓展:函数中使用lambda:JSON_EXTRACT(cloumn -> '$[0]','$.key') ->'$[0]'获取json数据中的第一条。LOCATE()函数判断字符串中是...原创 2020-10-23 19:07:16 · 1061 阅读 · 0 评论 -
记录IDEA自动生成entity的groovy文件
记录使用IDEA自动生成entity的goovy文件。带有数据库注释 已经修改int、date/datetiem/timestamp等数据格式 添加了lambda @Data注解import com.intellij.database.model.DasTableimport com.intellij.database.util.Caseimport com.intellij.database.util.DasUtil/* * Available context bindings:原创 2020-08-10 16:52:16 · 289 阅读 · 0 评论 -
JAVA日期计算,格式化日期的常用方法
public class DateUtils { private static final String FORMAT_TIME = "yyyy-MM-dd HH:mm:ss"; private static final String FORMAT_DAY = "yyyy-MM-dd"; private static final String FORMAT_MONTH = "yyyy-MM"; /** * 获取去年年份 * * @ret.原创 2020-08-06 17:08:14 · 274 阅读 · 0 评论 -
MySQL查询一段时间内的数据,没有数据的日期补全0
一、查询每天的数据,没有数据的那天,补全0:SELECT dateTime, MAX( success ) AS success, MAX( fail ) AS fail FROM ( SELECT @cdate := DATE_ADD( @cdate, INTERVAL - 1 DAY ) dateTime, 0 AS success, 0 AS fail FROM ( SELECT @cdate := DATE_ADD( #{date1}, INTERVAL + 1原创 2020-08-06 16:59:37 · 3278 阅读 · 0 评论 -
JAVA对特殊字符的处理
最近在维护OA系统的时候,刚好遇到几个类似的问题。总结了一下大概是下面三种情况。1.在拼接原生SQL的时候,特殊字符如【'】,破坏了SQL的完整性。public String escapeExprSpecialWord(String keyword) { if (StringUtils.isNotEmpty(keyword)) { String[] fbsArr...原创 2018-05-10 15:16:56 · 10776 阅读 · 0 评论 -
DATE日期比较
public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); String time1 = "12:00"; String time2 = "13:00"; Date dateTime1 = null; Date dateTime2 = null; ...原创 2018-04-24 16:28:16 · 284 阅读 · 0 评论 -
JAVA 三元运算例子
[条件语句] ? [表达式1] : [表达式2]其中如条件语句为真执行表达式1。否则执行表达式2。表达式1或者表达式2都要有返回值。public static void main(String[] args) { double result = getAday(); System.out.println("d="+result); } public static double getA...原创 2018-04-23 15:25:51 · 1222 阅读 · 0 评论 -
jsonp解决跨域请求问题
关键代码/** * jsonp解决跨域请求问题。 * JSONP,该协议允许用户传递一个callback参数给服务端,服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据, * 这样客户端就可以随意定制自己的函数来自动处理返回数据了 */ public String queryStaffInfo() { list原创 2017-11-29 08:32:33 · 415 阅读 · 0 评论