<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenxing1990的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenxing1990</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenxing1990]]></copyright><item><title><![CDATA[mongoDB更新子集]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/145697485</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/145697485</guid><author>chenxing1990</author><pubDate>Tue, 18 Feb 2025 09:26:43 +0800</pubDate><description><![CDATA[【代码】mongoDB更新子集。]]></description><category></category></item><item><title><![CDATA[关于使用ehcache中踩的坑]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/138618018</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/138618018</guid><author>chenxing1990</author><pubDate>Thu, 09 May 2024 16:03:57 +0800</pubDate><description><![CDATA[关于使用ehcache中踩的坑]]></description><category></category></item><item><title><![CDATA[slf4j打印异常日志]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/131052683</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/131052683</guid><author>chenxing1990</author><pubDate>Mon, 05 Jun 2023 17:29:33 +0800</pubDate><description><![CDATA[程序中通过slf4j的logger.error(e.getMessage())打印日异常日志不够 详细。需要修改为logger.error("异常:",e)可以详细打印异常堆栈详细信息；]]></description><category></category></item><item><title><![CDATA[Postgre使用物化视图]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/131052348</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/131052348</guid><author>chenxing1990</author><pubDate>Mon, 05 Jun 2023 17:26:01 +0800</pubDate><description><![CDATA[1.postgre使用物化视图，实质是将查询结果存储起来，这样对于普通的视图来说，查询速度会更快；REFRESH MATERIALIZED VIEW CONCURRENTLY 视图名称。CREATE UNIQUE INDEX  索引名称  ON 视图名称(唯一键列名);CREATE MATERIALIZED VIEW '视图名称' as。REFRESH MATERIALIZED VIEW  视图名称。2.支持全量刷新(阻塞查询)和增量刷新(不阻塞查询)SELECT * FROM 视图名称。]]></description><category></category></item><item><title><![CDATA[记一次springboot jdbcTemplate获取数据库连接未关闭的问题]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/124293658</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/124293658</guid><author>chenxing1990</author><pubDate>Wed, 20 Apr 2022 11:42:15 +0800</pubDate><description><![CDATA[springboot jdbctemplate 连接池 关闭连接]]></description><category></category></item><item><title><![CDATA[springboot jpa 多数据源配置]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/122808525</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/122808525</guid><author>chenxing1990</author><pubDate>Mon, 07 Feb 2022 14:55:19 +0800</pubDate><description><![CDATA[springboot 多数据源切换。]]></description><category></category></item><item><title><![CDATA[sql优化记录]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/122743135</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/122743135</guid><author>chenxing1990</author><pubDate>Sat, 29 Jan 2022 14:35:53 +0800</pubDate><description><![CDATA[sql优化]]></description><category></category></item><item><title><![CDATA[mongo 聚合使用记录]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/115767320</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/115767320</guid><author>chenxing1990</author><pubDate>Fri, 16 Apr 2021 17:01:05 +0800</pubDate><description><![CDATA[var result=db.day_air.aggregate([
  {$match:{"$and":[{"data_time":{"$gte":ISODate('2021-02-01 00:00:00')}},{"data_time":{"$lte":ISODate('2021-03-31 23:59:59')}}]}},  //前置过滤器
  {$unwind:"$values"},  //拆分子集数据
  {$match:{"values.pollutant_code":...]]></description><category></category></item><item><title><![CDATA[mongoTemplate聚合aggregate操作]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/115394246</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/115394246</guid><author>chenxing1990</author><pubDate>Fri, 02 Apr 2021 11:30:21 +0800</pubDate><description><![CDATA[废话不多说，直接上代码


 public int syncTotal(Date startTime, Date endTime) {
        int result = 0;
        Criteria criteria = new Criteria().andOperator(Criteria.where("data_time").gte(startTime), Criteria.where("data_time").lte(endTime));
        //创建aggreation]]></description><category></category></item><item><title><![CDATA[mongodb的group和aggregate问题记录]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/115393266</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/115393266</guid><author>chenxing1990</author><pubDate>Fri, 02 Apr 2021 11:07:17 +0800</pubDate><description><![CDATA[1.group只支持单机分组，不支持多分片集群分组，这是个大坑

2.aggregate支持多分片集群，新版本建议使用aggregate

3.数据模板


{
    "_id": "2204000000429520201204000000000",
    "mp_id": "22040000004295",
    "create_time": ISODate("2020-12-04T16:10:03.627Z"),
    "data_day": NumberInt("20201204"),
   ]]></description><category></category></item><item><title><![CDATA[SqlServer链接PostgreSql数据库]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/115392446</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/115392446</guid><author>chenxing1990</author><pubDate>Fri, 02 Apr 2021 10:22:34 +0800</pubDate><description><![CDATA[SQLSERVER配置POSTGRESQL链接服务器说明

POSTGRESQL ODBC下载地址https://www.postgresql.org/ftp/odbc/versions/msi/
	在SQLSERVER服务器上安装POSTGRESQL ODBC驱动，解压psqlodbc_11_01_0000.zip，点击psqlodbc-setup.exe安装驱动ODBC
	查看驱动是否安装成功，打开控制面板-&gt;管理工具-&gt;数据源（ODBC）,如下：
	点击添加，选择POSTGRESQL驱..]]></description><category></category></item><item><title><![CDATA[mongotemplate查询过滤返回字段以及子集字段]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/115008260</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/115008260</guid><author>chenxing1990</author><pubDate>Fri, 19 Mar 2021 15:51:50 +0800</pubDate><description><![CDATA[private List&lt;DayAir&gt; findMongoPage(int page, Date lastUpdateTime, Date endTime, Date dataTime) {
        int skip = (page - 1) * syncConfig.getMongoBatchSize();
        Query query = new Query(new Criteria().andOperator(Criteria.where("updateTim...]]></description><category></category></item><item><title><![CDATA[java callable实现多线程的简单例子]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/114697474</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/114697474</guid><author>chenxing1990</author><pubDate>Fri, 12 Mar 2021 15:29:41 +0800</pubDate><description><![CDATA[public static void main(String[] args) throws ExecutionException, InterruptedException {

        int corePoolSize = 5; //初始线程数
        int maximumPoolSize = 5; //最大线程数
        long keepAliveTime = 60; //空闲多久会被释放，搭配TimeUnit使用

        //建立线程池
        Thr..]]></description><category></category></item><item><title><![CDATA[mongodb批量更新内嵌文档，子集字段]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/114316786</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/114316786</guid><author>chenxing1990</author><pubDate>Wed, 03 Mar 2021 15:19:59 +0800</pubDate><description><![CDATA[db.hour_air.updateMany({
    "mp_id": "402885537457e3c201745836c31100d5",
    $and: [{
        "data_time": {
            $gte: ISODate('2020-02-01')
        }
    }, {
        "data_time": {
            $lte: ISODate('2021-02-28')
        }
    }]
}, {
 .]]></description><category></category></item><item><title><![CDATA[mongoTemplate批量更新保存子文档集合]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/113250330</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/113250330</guid><author>chenxing1990</author><pubDate>Wed, 27 Jan 2021 15:42:13 +0800</pubDate><description><![CDATA[项目中遇到批量保存或者更新文档,使用mongotemplate的upsert来处理，发现会直接覆盖之前的子集，而不是按照自己的规则去追加，或者更新子集

最后想到一个思路，记录一下


List&lt;DayAir&gt; dayAirList = mergeList(currentTime, syncMinutes);
if (!dayAirList.isEmpty()) {
    //按照唯一键查询出对应文档
    dayAirList.forEach(air -&gt; {
        ...]]></description><category></category></item><item><title><![CDATA[springboot 读写properties文件]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/113250150</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/113250150</guid><author>chenxing1990</author><pubDate>Wed, 27 Jan 2021 15:34:05 +0800</pubDate><description><![CDATA[springboot 读写properties文件

public static void writeProperties(String key, String value) {
    try {
        String path = getRootPath() + "/sync_mongo_40/";
        File pathFile = new File(path);
        if (!pathFile.exists()) {
            pathFile.mkd.]]></description><category></category></item><item><title><![CDATA[springboot2读取yml中属性到List＜自定义对象＞中]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/112302981</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/112302981</guid><author>chenxing1990</author><pubDate>Thu, 07 Jan 2021 09:53:13 +0800</pubDate><description><![CDATA[1.yml配置



2.实体对象，get,set自己写



3.读取对应list和其他属性



说明：使用


ConfigurationProperties读写，prefix设置dbconfig的根节点。sync_minutes和dblist需和yml文件中名称相同，List类型配置文件中必须对应list[0]、list[1]等等

自定义实体属性也需与yml一致,component注入spring管理bean

4.使用


@Autowired
SyncDBConfig syncDBConfi.]]></description><category></category></item><item><title><![CDATA[springboot2.4.1中hibernate格式化sql无效]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/112302851</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/112302851</guid><author>chenxing1990</author><pubDate>Thu, 07 Jan 2021 09:42:26 +0800</pubDate><description><![CDATA[format_sql如果直接放到jpa.hibernate下是无效的，必须放在properteis.hibernate下才行。
]]></description><category></category></item><item><title><![CDATA[SLF4J的StaticLoggerBinder和logback的StaticLoggerBinder冲突]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/112302611</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/112302611</guid><author>chenxing1990</author><pubDate>Thu, 07 Jan 2021 09:37:15 +0800</pubDate><description><![CDATA[问题 ：

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/maven/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/]]></description><category></category></item><item><title><![CDATA[springboot2 slf4j+logback 生成日志]]></title><link>https://blog.youkuaiyun.com/chenxing1990/article/details/112302273</link><guid>https://blog.youkuaiyun.com/chenxing1990/article/details/112302273</guid><author>chenxing1990</author><pubDate>Thu, 07 Jan 2021 09:23:58 +0800</pubDate><description><![CDATA[1.springboot2自带logging日志实现，不需要引入依赖

2.在resources中新建文件logback-spring.xml，此名称springboot会自动识别加载

3.xml内容如下





&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration&gt;
    &lt;property name="logger.path" value="sync_mongo_logs_40"/&gt;

    &lt;!-.]]></description><category></category></item></channel></rss>