![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
工作经验总结
记录工作过程中遇到的问题、BUG以及解决方案
1个凡夫俗子
努力,奋斗。
展开
-
利用poi实现将数据库表字段信息导出到word中
研发文档对于开发人员来说都不陌生了,而研发文档里重要的一部分就是表结构设计,需要我们在word建个表格把我们数据库中的表字段信息填进去,表多的话靠我们手动去填非常累人!因此作为开发人员可不可以写段代码,自动帮我把数据库表及字段信息封装成表格导出到word中呢?那思路就有了,我们把查到的信息进行封装,利用poi导出到word中。上述代码我只导出了三个字段,如果需要其他字段按照逻辑自行添加即可。这个sql就可以返回我们需要查的表字段信息。原创 2023-12-13 16:39:05 · 761 阅读 · 0 评论 -
【BUG】记录使用PageHelper分页工具出现的问题?全是细节~
在我们使用过程中先使用PageHelper.startPage这样的语句在当前线程上下文中设置一个ThreadLocal变量,再利用PageInterceptor这个分页拦截器拦截,从ThreadLocal中拿到分页的信息,如果有。这里错误之处:在查询所有结果对数据做了过滤处理,但是pagehelper分页是在过滤前做的,所以最终得到的total总数也是在过滤前的总数。本质就是将我们的查询sql拼装成具有分页功能的sql,所以在使用的时候一定。,最后再把ThreadLocal中的东西清除掉。原创 2023-09-21 10:57:04 · 732 阅读 · 0 评论 -
【记录】实现从Linux下载下载文件(文件导出功能)并记录过程产生的BUG问题。
导出功能的实现,主要记录总结导出过程中出现的一些问题。导出文件名、文件内容乱码问题,以下几种情况可尝试解决该问题设置参数前response清空,有些情况可通过reset()解决。// 清空response对导出的文件名编码处理:也是一种编码处理,和第二种方式差不多,都是对文件头设置:文件路径、文件名都是对的,但是通过new File(path)一直返回找不到文件。原因:服务器的文件名是不是中文名,如果是中文名可能会出现即使路径都写对了,仍出现文件找不到的问题。原创 2023-09-18 15:38:22 · 460 阅读 · 0 评论 -
JWT实现ES256加密生成token
JWT实现ES256加密生成token原创 2023-01-05 14:22:56 · 2602 阅读 · 2 评论 -
fastjson解析内部类出现错误 com.alibaba.fastjson.JSONException:
报错信息:com.alibaba.fastjson.JSONException:主要是用到了内部类,需要将内部类进行static分析:这个问题主要是因为Java内部类和嵌套类的实现机制造成的.静态的内部类叫做嵌套类,那么两者有什么区别呢?一般的内部类虽然在源代码中没有写,但是编译后会看到里面多了一个指向外部类的引用,如果使用内部类进行json序列化,会因为找不到它的外部类而报异常,而嵌套类因为是静态的,里面没有默认的外部类的引用,即使没有外部类的对象也能够使用,因此在json转换的时候不会报错。原创 2022-06-01 15:10:40 · 15041 阅读 · 4 评论 -
新导入的springboot项目,启动类正常启动,项目中的类报红(红色波浪线)
问题:新导入的项目,启动类可以正常启动,maven依赖正常没有报红,但项目其他类报红,找不到。解决:清理一下缓存,重新进入就好了。具体什么原因,应该是springboot版本问题。我也尝试了网上的其他办法没成功,最后直接这一步操作好了,又遇到同样问题的小伙伴可以先试一下这个,不行在百度其他办法,或评论留言。...原创 2022-03-08 12:16:07 · 2593 阅读 · 2 评论 -
Mapper中使用resultMap标签引发的问题
问题描述在往数据库插入数据之前做了数据去重操作List<String> adIdList = ttService.selectData(id); if (CollectionUtils.isNotEmpty(adIdList)) { Set<String> adIdSet = new HashSet<>(adIdList); list.removeIf(item -> adIdSet.contains(item.getAd原创 2021-12-01 15:05:53 · 1164 阅读 · 0 评论 -
mysql 删除数据库表中重复数据(按照某一字段删除)
sql代码delete from plan_msg where id not in ( select t.max_id from (select max(id) as max_id from plan_msg group by ad_id) as t );plan_msg 是表名id 是自增主键ad_id 是计划唯一id结果:删除相同ad_id主键小的数据(保留id最大的)...原创 2021-12-01 11:26:00 · 654 阅读 · 0 评论 -
【性能优化】使用Set的contains方法替代List的contains方法
今天在调优的过程中发现某一个接口有些慢,sql查询不到一秒,整体接口返回数据达到3、4秒。先上代码:List<String> feedAccount = feedHomePageService.selectFeedAccount();accountNewList.removeIf(o -> !feedAccount.contains(o.getAdvertiserId()));accountNewList大概12W条数据,整个过滤下来大概花费3~4秒改成set之后:List原创 2021-11-23 11:18:16 · 1257 阅读 · 0 评论 -
【工作记录】保留除法运算小数位数的问题
float price=(float) 625.2135;DecimalFormat decimalFormat=new DecimalFormat("0.00");//这里有几个0就保留几位,如果小数不足位,会以0补足.String price1=decimalFormat.format(price);//format 返回的是字符串System.out.println(price1);...原创 2021-08-25 15:21:56 · 406 阅读 · 0 评论 -
【工作记录】sql查询遇到的坑
sql语句索引使用遇到的坑 select u.user_id,u.ip,u.name,u.user_name,u.telephone, case u.sex when '1' then '男' when '0' then '女' else '未知' end as sex ,u.company_name, date_format(u.last_login_time,'%Y-%m-%d %H:%i:%s') as last_login_time from u_user u where 1=1原创 2021-09-08 10:24:33 · 72 阅读 · 0 评论 -
elasticsearch 启动及报错记录
后台启动es# 进入bin目录./elasticsearch -des不能以root用户启动,需切换用户# 添加用户useradd elastic# 分配用户权限chown elastic elasticsearch-6.2.3 -R记录相关报错信息(没有操作日志的权限)main ERROR RollingFileManager (/usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log)[root@iZ2zeaj原创 2021-07-19 10:07:49 · 792 阅读 · 0 评论 -
记录:maven打包后,服务器运行jar包修改的功能没有生效
项目pom文件中以下plugin配置 导致出现问题原因:lib包单独分离出来,出现的依赖jar(也就是我们业务中修改的部分)没有打进要运行的jar包解决:实际工作中,我是直接将lib文件拷贝到服务器中,替换掉之前lib文件,解决。 <plugins> <!-- 分离lib --> <plugin> <groupId>org.apache.maven.plugin原创 2021-08-17 13:52:24 · 1368 阅读 · 0 评论 -
【工作记录】SecureCRT mac软件安装破解遇到的问题
安装破解需要下载 securecrt_mac_crack.pl 文件执行命令sudo perl ~/Downloads/securecrt_mac_crack.pl /Applications/SecureCRT.app/Contents/MacOS/SecureCRT这里执行命令可能出现的错误:Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /错误的大概意思就是securecrt_mac_原创 2021-11-15 11:15:50 · 1786 阅读 · 0 评论 -
【工作记录】arthas 工具使用,常用命令总结
Arthas 是Alibaba开源的Java诊断工具常用命令:启动java -jar arthas-boot.jartrace 跟踪具体某个类中方法耗时# trace 全限类名 方法名trace com.duocai.platform.service.feed.homepage.HomePageService getAccountCostListthread 查看线程的状态,线程的栈信息# 查看前五消耗多的线程thread -n 5dashborard命令可以动态查看原创 2021-11-16 10:27:28 · 523 阅读 · 0 评论 -
2021-07-02记录:Java集成es 高亮字段设置
java es 高亮字段设置 public StandardResponse searchArticles(Integer pageNum,Integer pageSize,String keyword) { SearchRequest searchRequest = new SearchRequest("article"); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();原创 2021-07-02 16:09:47 · 595 阅读 · 0 评论 -
elasticsearch 多条件查询Java实现
Java代码实现es bool嵌套查询 A and (B or C) private void addBoolQueryBuilderKeywordCondition(BoolQueryBuilder boolQueryBuilder,String articleType,String keyword) { if (null != articleType && "" != articleType) { QueryBuilder articl原创 2021-07-16 11:06:27 · 1376 阅读 · 0 评论 -
【工作记录】记录elasticsearch bulk批量上传数据报错--ik6.8版本BUG
服务器es版本6.8.5 ik版本6.8.5 ik分词bug报错信息"reason" : "startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backwards startOffset=558,endOffset=560,lastStartOffset=560 for field '解决方案:使用6版本其他小版本ik分词器,本次采用的ik版本为6.原创 2021-07-22 11:46:24 · 430 阅读 · 0 评论 -
【工作记录】sqlyog中无法删除数据
记录工作中遇到的坑,不知道怎么回事,sqlyog中无法删除表中的数据,用navicat连接数据库后就可以删除了…不知道是bug还是怎么回事。。原创 2021-08-23 17:58:35 · 705 阅读 · 0 评论