<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[libingbojava的博客]]></title><description><![CDATA[小白穿女装之后的博客乎]]></description><link>https://blog.youkuaiyun.com/libingbojava</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; libingbojava]]></copyright><item><title><![CDATA[2023-04-12随笔]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/130119473</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/130119473</guid><author>libingbojava</author><pubDate>Wed, 12 Apr 2023 23:39:11 +0800</pubDate><description><![CDATA[从去年9月份开始吧，换了一份新工作，到现在入职已经大半年了，感觉很不错。同事人很好，不加班，工作也轻松。属于别人羡慕的工作了，和别的同事比起来，我的人生很可以了。最近一直想学点东西，比如温顾一下分库分表，学前端或者后台权限管理，一直静不下心去学，都是学几天然后半途而废，很可惜。谈了个女朋友，异地网恋， 爸妈五一打算过来玩，到时候计划从成都到长沙武汉整个一圈。我真的是过上了好生活，起码毕业之后人生没有走过岔路，基本都在正轨，事业都在轨道上。晚上睡不着，想看个电影，但是一直找不到资源，就随便上来写写。]]></description><category></category></item><item><title><![CDATA[在linux 上启停jar包的脚步总结]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/127246907</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/127246907</guid><author>libingbojava</author><pubDate>Mon, 10 Oct 2022 16:20:02 +0800</pubDate><description><![CDATA[liunx 下启停服务的脚本]]></description><category></category></item><item><title><![CDATA[JSR303参数安全效验]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/127244455</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/127244455</guid><author>libingbojava</author><pubDate>Mon, 10 Oct 2022 14:58:16 +0800</pubDate><description><![CDATA[validation  的JSR303参数安全效验]]></description><category></category></item><item><title><![CDATA[随笔随想-2022-06-07]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/125174918</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/125174918</guid><author>libingbojava</author><pubDate>Tue, 07 Jun 2022 23:17:53 +0800</pubDate><description><![CDATA[生活有了欲望，就有了压力。 人的满足只是一小会时间， 登上山顶，被微风吹着感叹几句凉快凉快， 接着又是下一座山。 老百姓头上常有3做大山，住房、医疗、教育。 翻过这三座山要费大半辈子的时间。 每达成一个小目标，自己就能兴奋好一会，但是也就一会，兴奋劲一过，接着又不满足了，又想要更好更多的东西来， 然后生活就有了压力。 想着攒钱攒钱再攒钱，达到自己的目的。有欲望而没实力是很痛苦的。
我闲下来的时候就会想想，自己这毕业两年，走的路下的棋落的子，其实都不算太好。虽然不能说很差，但肯定不是最好的。每一步棋的落子，在]]></description><category></category></item><item><title><![CDATA[springboot手动新建事务和提交事务]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/125008416</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/125008416</guid><author>libingbojava</author><pubDate>Fri, 27 May 2022 17:47:59 +0800</pubDate><description><![CDATA[首先要获取springboot自带的 核心事务管理器
PlatformTransactionManager
自动注入核心事务管理器：
    @Autowired
    private PlatformTransactionManager transactionManager;// 引入 (平台)事务管理器，Spring 事务策略的核心。

在某些代码执行前，开启一个新事务
 // 发起一个新事务
            DefaultTransactionDefinition def = new Def]]></description><category></category></item><item><title><![CDATA[springboot 过滤器 总结]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/124985324</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/124985324</guid><author>libingbojava</author><pubDate>Thu, 26 May 2022 15:20:19 +0800</pubDate><description><![CDATA[filter:
1: 在启动类上加一个注解 @ServletComponentScan(basePackages=“需要扫描的过滤器”)
2: 新建myFilter 继承接口  Filter
3：在myFilter 上添加  @WebFilter（filterName=“过滤器名称” urlPatterns=“过滤规则” ）
4：重写 三大方法 doFilter ， init ，destroy
注意： 三个方法最好都重写一遍， 不要只重写 doFilter 方法。 在tomcat9.0一下版本部署可能失败。]]></description><category></category></item><item><title><![CDATA[@Async 执行异步方法]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/123188459</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/123188459</guid><author>libingbojava</author><pubDate>Mon, 28 Feb 2022 18:06:08 +0800</pubDate><description><![CDATA[TestController内写：
    @Autowired
    ComprehensiveAnalysisController comprehensiveAnalysisController;
    @GetMapping("async")
    public String getAsyncInfo(Map map)
    {
        System.out.println("--------------------");
        comprehensiveAnalysisCo]]></description><category></category></item><item><title><![CDATA[关于 数据对接入库失败后的 补录机制的一些想法]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/122700645</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/122700645</guid><author>libingbojava</author><pubDate>Wed, 26 Jan 2022 15:02:14 +0800</pubDate><description><![CDATA[目前在做的系统中，有一些功能模块需要从三方服务或者公司内部别的系统数据库中定时的拉取数据，拉取数据后再入库到自己的系统。数据接入是定时的， 但是有这样的情况出现：三方的数据提供方或者数据源有时候数据提供的不及时， 数据提供延迟几小时或者几天都有可能， 这时候用定时任务去拉取数据的方式就不能满足实际的需求了。
比如：我的系统有一个定时任务，每天凌晨2点去拉取昨天的数据处理并入库。 理想情况下这样的数据接入方式是可行的。 但是当数据源提供方提供数据延迟了几天， 那么这几天系统的定时就不能够拉取到数据了， 因为定]]></description><category></category></item><item><title><![CDATA[sql 统计汇总 将null 排在最后]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/122604481</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/122604481</guid><author>libingbojava</author><pubDate>Thu, 20 Jan 2022 16:27:01 +0800</pubDate><description><![CDATA[&lt;select id="selectScoreInfo" resultType="java.util.Map"  parameterType="java.util.Map"&gt;
        select DZShare.T_Y_SBBHDEVICE_SITE.* ,
        ROUND(DZShare.T_Y_SCORE.actual_score ,2) as actual_score ,
        ROUND(DZShare.T_Y_SCORE.total_score ...]]></description><category></category></item><item><title><![CDATA[2022的新年感想]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/122272871</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/122272871</guid><author>libingbojava</author><pubDate>Sun, 02 Jan 2022 01:11:53 +0800</pubDate><description><![CDATA[2021已经过去了. 写这个博文的时间,已经是2022年一月2号.
我比较在意对过去一年的总结. 盘一盘, 过去一年有哪些收获, 有哪些不足. 这是我上初中时王泰老师教我的总结方法. 这样的总结方法也可按月按周进行.
我今天躺着刷手机的时候突然悟到 ,  对一年自己的总结, 不能只是精神层面的, 出来打工, 一定要有物质层面的总结. 精神层面的东西,很难有个量化的标准. 比如今年我技术进步了多少? 精神升华了多少? 脾气心态好了多少? 这些东西都是虚的, 不好量化, 喜欢吹的时候牛逼吹的大一点, 自卑的时候]]></description><category></category></item><item><title><![CDATA[sql 求日期均值]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/121839869</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/121839869</guid><author>libingbojava</author><pubDate>Thu, 09 Dec 2021 18:57:50 +0800</pubDate><description><![CDATA[备忘一下 在sql中求日期均值的语句
首先：AVG（） 只能作用与数值型字段， 不能作用于日期字段。所以不能像求数值均值一样求日期均值。
要求日期均值， 需要先把 日期转为Long ,  然后对转后的Long求均值， 对Long求完均值，在把Long转为
日期格式。
UNIX_TIMESTAMP( time)  函数可以把日期转为Long 。
FROM_UNIXTIME（time）函数可以把Long类型的数值转为日期。
具体操作如下：
FROM_UNIXTIME(avg(UNIX_TIMESTAMP( ti]]></description><category></category></item><item><title><![CDATA[case when 的使用]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/121664131</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/121664131</guid><author>libingbojava</author><pubDate>Thu, 02 Dec 2021 17:45:48 +0800</pubDate><description><![CDATA[`
简单说下 case when 的用法。
当想用一条语句 按不同的角度统计数据时， 可以考虑使用case when的用法。
比如说， 表table里有一个状态字段， 值1代表已完成，  值2代表未完成。 此时想统计 table表中所有数据个数， 和 已完成的数据个数 ，和 未完成的数据个数。

这时候该如何操作呢？
     select count(1) table where 1=1 // 查全部
     select count(1) table where status=1 // 查已完成
  ]]></description><category></category></item><item><title><![CDATA[DENSE_RANK() 函数的使用]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/121565515</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/121565515</guid><author>libingbojava</author><pubDate>Fri, 26 Nov 2021 18:02:02 +0800</pubDate><description><![CDATA[业务场景：按月对每个工地状态进行评分， 满分一百分， 对每个工地评分后， 进行排名， 要求相同分数的工地排名相同
在我不知道DENSE_RANK()这个函数前， 我是对每个工地进行算分，所有工地是一个list , 工地的分数在list的map里。
如：[ { key:“工地1” , score:80 } , { key:“工地2”,  score:90} , { key:“工地3”,  score:60}]
在这样一个数组中， 对工地按评分排名， 其实就是把List数组按map中的某个属性进行排名。 但是这]]></description><category></category></item><item><title><![CDATA[对List中的map或bean的某个属性排序]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120709622</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120709622</guid><author>libingbojava</author><pubDate>Mon, 11 Oct 2021 19:27:46 +0800</pubDate><description><![CDATA[按List中的Map对象的某一个属性值对整个List进行排序：（自己写的找不着了，这是别人的代码）
//在进行排序之前可以加入此条件，list集合不能为空且数量要大于1个
if(list!= null &amp;&amp; list.size() &gt; 1)

		Collections.sort(list, new Comparator&lt;Map&lt;String, Object&gt;&gt;(){
			   public int compare(Map&lt;String, Object&]]></description><category></category></item><item><title><![CDATA[多表逗号隔开联查， inner join , left join 的理解--如何优化慢查询]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120699509</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120699509</guid><author>libingbojava</author><pubDate>Mon, 11 Oct 2021 19:07:26 +0800</pubDate><description><![CDATA[今天在写一个业务的时候， 遇到了一个慢查询。
我习惯写业务之前先将sql写好， 这样可以确保写业务之前数据源是对的，并且可以先看到自己写的sql慢不慢，有没有可以优化的地方。 今天在写sql时就遇到了一条很慢的sql.
我最开始写的sql是这样的：
		-- 总共1517条结果
  	   SELECT
       count(*)
       FROM DZShare.T_C_HISDATA_1H H ,  DZShare.T_C_AI_D A  , DZShare.T_Y_SBBHDEVICE_SI]]></description><category></category></item><item><title><![CDATA[搭建后台系统的一些总结教训]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120610060</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120610060</guid><author>libingbojava</author><pubDate>Tue, 05 Oct 2021 01:03:19 +0800</pubDate><description><![CDATA[来的新公司接手一个新的项目，自己从0开始搭建了后台系统，由于之前都是用的老项目，底层都是前辈们搭建好的，自己在新系统中将老项目的思路借鉴了过来，以为可以高枕无忧，事实证明确实不行。项目在整个使用过程中，还是暴露出来了很多问题，这些问题在最初搭建项目时都没有很好的考虑到，导致后期要更改的话代价太大成本太高。所以自己将自己在搭建系统的工程中踩的坑吃的亏都记录下来。给后续自己搭建系统时做个参考。
1：系统将数据返给前端时，没有对 日期 类型做统一的格式化处理
系统返给前端的数据中少不了包含时间格式的数据，而前端也]]></description><category></category></item><item><title><![CDATA[在火车站的想法]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120582270</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120582270</guid><author>libingbojava</author><pubDate>Sat, 02 Oct 2021 00:13:40 +0800</pubDate><description><![CDATA[国庆第一天，我在火车站。
来上海也有两个月了， 从7月29号来到上海，一眨眼就到了国庆。看到朋友圈里别人发的很多美食和旅游的地点，自己还在火车站等晚点的火车，有点感慨。 人和人活法还是不一样的。大家出来的时候都差不多，但是一年之后，变化都很大。
这社会对男的似乎不太友好，尤其是16年之后的男生，女生还好，女生可以往上找比自己大的。但是似乎男生没有退路。
我来上海时，给自己定的目标是每个月存6K , 但是现在连这个简单的小目标都似乎达不到。 似乎来上海是个错误。一起的同学光看薪资，都是发展的比较好的。自己每天]]></description><category></category></item><item><title><![CDATA[项目中用到的 数字保留两位小数的代码，备份用]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120568984</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120568984</guid><author>libingbojava</author><pubDate>Thu, 30 Sep 2021 16:36:14 +0800</pubDate><description><![CDATA[项目中会设计一些统计  百分比 的数据内容。
有两种情况， 一种是 用字符串显示百分比 ， 如45.56%
此时使用：
        NumberFormat nt = NumberFormat.getPercentInstance();
        //设置百分数精确度2即保留两位小数  没有考虑任务数量为0的情况
        nt.setMinimumFractionDigits(0);
        //计算百分比
        float accounted = 0F;
       ]]></description><category></category></item><item><title><![CDATA[knife-4j 点击列表出现空白页怎么办？]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120495323</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120495323</guid><author>libingbojava</author><pubDate>Sun, 26 Sep 2021 19:30:01 +0800</pubDate><description><![CDATA[之前遇到过点击knife-4的左侧列表项出现了空白页，而且同一个列项出现了两次。 怎么解决呢？

网上没找到解决的方法， 最后脑袋一想，可能是特殊字符的原因。
/**
 * &lt;p&gt;
 * 任务信息表 前端控制器
 * &lt;/p&gt;
 *
 * @author jobob
 * @since 2021-08-26
 */
@RestController
// 如果在@Api的tags的值中出现了 “/” 这样的特殊字符，会出现上述点击tags出现空白页的情况
@Api(tags = "任务]]></description><category></category></item><item><title><![CDATA[如何在项目启动后执行一段代码？]]></title><link>https://blog.youkuaiyun.com/libingbojava/article/details/120495105</link><guid>https://blog.youkuaiyun.com/libingbojava/article/details/120495105</guid><author>libingbojava</author><pubDate>Sun, 26 Sep 2021 19:11:27 +0800</pubDate><description><![CDATA[使用 ApplicationRunner 这个类来对项目启动后做一些初始化的工作
如：项目启动后，连接websorcek
实现ApplicationRunner的run方法， 在项目启动后， 会自动执行run方法中的内容
package com.diting.hb2.fastdevlop.commons.util;

import com.alibaba.fastjson.JSONObject;
import com.diting.hb2.fastdevlop.commons.cache.DatacodeC]]></description><category></category></item></channel></rss>