<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[z69183787的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/z69183787</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; z69183787]]></copyright><item><title><![CDATA[一文搞懂AI函数functions & tools两种模式实操详解]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/162189025</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/162189025</guid><author>z69183787</author><pubDate>Mon, 22 Jun 2026 08:56:34 +0800</pubDate><description><![CDATA[函数调用（Function Calling）。简单说，就是你告诉ChatGPT可以用哪些函数，ChatGPT在需要的时候会主动请求你帮它调用这些函数，然后你再把结果告诉它，最终它再给你个完整的回复。]]></description><category></category></item><item><title><![CDATA[正则表达式 “中括号[]” 内需要转义的字符]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/157976215</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/157976215</guid><author>z69183787</author><pubDate>Wed, 11 Feb 2026 16:20:30 +0800</pubDate><description><![CDATA[内部，绝大多数元字符会自动失去特殊含义，在正则表达式的字符集（]]></description><category></category></item><item><title><![CDATA[mybatis返回对象优先使用setter方法给属性赋值，如果没有setter方法再用反射方法赋值]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/155807033</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/155807033</guid><author>z69183787</author><pubDate>Thu, 11 Dec 2025 10:08:30 +0800</pubDate><description><![CDATA[例如，mybatis的mapper文件的内容如下，查询返回的是User对象：





定义了setter方法，mybatis返回对象会使用定义的setter方法给User 的name属性赋值

User对象的定义，其中对于属性name，定义了setName函数：


运行输出如下，可以看到，赋值的时候使用了定义的setName方法
将setName方法注释掉：





运行输出，可以看到，照样赋值成功：]]></description><category></category></item><item><title><![CDATA[【异常】Feign 调用api模块直接进入fallback的问题解决办法]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/155706733</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/155706733</guid><author>z69183787</author><pubDate>Mon, 08 Dec 2025 14:29:31 +0800</pubDate><description><![CDATA[最近在项目中把服务层的接口封装成了api模块，当其他项目引用了该api模块，调用接口的时候，直接走了fallback，并且没有打印任何异常信息。并且已经在启动类上添加了 @EnableFeignClients 注解。但是还是无法正常调用第三方服务。注解没有扫描到指定的包，即定义的接口如果不和启动类在同一个包路径下，需要加。]]></description><category></category></item><item><title><![CDATA[【展示2位，实际原始数据位】excel导出文本格式设置为数值(easypoi)]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/155315023</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/155315023</guid><author>z69183787</author><pubDate>Thu, 27 Nov 2025 14:51:42 +0800</pubDate><description><![CDATA[步骤：@Excel 中添加 type=10写个类继承ExcelExportStylerDefaultImpl ，重写getStyles()方法导出前ExportParams。既然重写了getStyles()，那么其实type=10并不是唯一的办法。官网就是根据name中是否包含int，double等类型来判断的，当然@Excel中的name要记得配合。(感觉type=10比改name更方便，更解耦)]]></description><category></category></item><item><title><![CDATA[@Around - @target、@annotation、@within、this、target、within等]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/155237242</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/155237242</guid><author>z69183787</author><pubDate>Tue, 25 Nov 2025 15:56:19 +0800</pubDate><description><![CDATA[annotation 方法级别。@within 对象级别。]]></description><category></category></item><item><title><![CDATA[详细总结Java创建文件夹的方法及优缺点]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/151623799</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/151623799</guid><author>z69183787</author><pubDate>Fri, 12 Sep 2025 17:49:21 +0800</pubDate><description><![CDATA[如果被创建文件夹的父文件夹不存在也返回false.没有异常抛出。如果被创建文件夹的父文件夹不存在也返回false.没有异常抛出。file.mkdirs()创建文件夹连同该文件夹的父文件夹，如果创建成功返回true，创建失败返回false。()创建文件夹连同该文件夹的父文件夹，如果创建成功返回true，创建失败返回false。如果被创建的文件夹已经存在，就是用已经存在的文件夹，不会重复创建，没有异常抛出;如果被创建的文件夹已经存在，就是用已经存在的文件夹，不会重复创建，没有异常抛出;]]></description><category></category></item><item><title><![CDATA[java 通过远程URL实现文件下载几种方式]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/151622296</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/151622296</guid><author>z69183787</author><pubDate>Fri, 12 Sep 2025 16:53:20 +0800</pubDate><description><![CDATA[利用Apache common io 库下载文件。通过URL直接转换成MutipartFile。使用文件通道FileChahhel下载文件。]]></description><category></category></item><item><title><![CDATA[SpringBoot支持IOS/Safari媒体播放（Http Accept-Ranges）]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/151119180</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/151119180</guid><author>z69183787</author><pubDate>Tue, 02 Sep 2025 18:45:11 +0800</pubDate><description><![CDATA[最近因为想做个在手机上播放电脑上视频的软件，所以就去了解了一下springboot播放视频流的技术实现。range是springboot加载静态资源的一个类，平时是用来从你resources/statics等目录加载文件的。所以，这个类本身就是支持range请求数据的。我们要做的，就是把要播放的文件File传递给就行，三五行代码搞定！]]></description><category></category></item><item><title><![CDATA[Java后端返回视频流]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/151104298</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/151104298</guid><author>z69183787</author><pubDate>Tue, 02 Sep 2025 10:13:27 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/qq_41355005/article/details/120253856。⚠️：返回的状态码需要是206的，此状态可以让用户决定视频流是播放还是下载，默认状态200访问会直接下载。这个方法前端用video标签的话是会自动多次调用方法，做视频缓存，不会直接一次性加载全部。视频格式需要是浏览器支持播放的格式：ACC（音频） H264（视频）Java后端返回视频流。]]></description><category></category></item><item><title><![CDATA[PageHelper参数配置supportMethodsArguments踩过的坑]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/147283021</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/147283021</guid><author>z69183787</author><pubDate>Wed, 16 Apr 2025 17:41:55 +0800</pubDate><description><![CDATA[如果原先SQL中有 limit，并且入参中带有分页参数，则pageHelper会自动执行分页，所以就出现了SQL最后拼接了两个limit导致SQL报错了。注意： 官方介绍的不是特别清楚，其实这是个自动分页的配置，依据的是入参，如果参数中有pageNum，pageSize分页参数，则会自动分页。当supportMethodsArguments设置为 true 时候默认 启用了分页，并且先执行了count后面的查询也拼接了limit。自己写了一个SQL，参数类中有 pageNum，pageSize 参数。]]></description><category></category></item><item><title><![CDATA[【DM系列】详解 DM 字符串大小写敏感]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/147149355</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/147149355</guid><author>z69183787</author><pubDate>Fri, 11 Apr 2025 17:03:21 +0800</pubDate><description><![CDATA[安装完达梦数据库后，需要初始化实例，在初始化实例时，需要注意大小写敏感的设置。大小写敏感只能在初始化数据库的时候设置，默认为大小写敏感，一旦设置成功就无法修改，如果想要修改，只能重新初始化实例。本文主要介绍达梦数据库中的大小写敏感问题，将会从对象名、字符串内容、常用工具这三个方面介绍达梦数据库的大小写敏感和大小写不敏感设置的区分和介绍，希望大家看完这篇文章能够完全搞明白。操作系统CPU数据库CentOS7x86_64 架构在介绍大小写敏感之前，我们需要先聊聊什么是标识符。]]></description><category></category></item><item><title><![CDATA[es match、match_phrase、query_string和term的区别]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/146508050</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/146508050</guid><author>z69183787</author><pubDate>Tue, 25 Mar 2025 17:18:19 +0800</pubDate><description><![CDATA[match_phrase的分词结果必须在text字段分词中都包含，而且顺序必须相同，而且必须都是连续的。说明text类型的字段会被分词，查询的时候如果用拆开查可以查询的到，但是要是直接全部查，就是查询不到。因为text字段会分词，而term不分词，所以term查询的条件必须是text字段分词后的某一个。match会被分词，而keyword不会被分词，match的需要跟keyword的完全匹配可以。match分词，text也分词，只要match的分词结果和text的分词结果有相同的就匹配。]]></description><category></category></item><item><title><![CDATA[ZooKeeper集群脑裂问题，如何解决？]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/145564886</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/145564886</guid><author>z69183787</author><pubDate>Tue, 11 Feb 2025 09:59:45 +0800</pubDate><description><![CDATA[比如4个节点的集群，它的Quorums = 3，Quorums要超过3，相当于集群的容忍度还是1，如果2个节点失效，那么整个集群还是无效的。比如提供一个参考的IP地址，心跳机制断开时，节点各自ping一下参考IP，如果ping不通，那么表示该节点网络已经出现问题，则该节点需要自行退出争抢资源，释放占有的共享资源，将服务的提供功能让给功能更全面的节点。如果有4个节点，那么挂掉1个节点，剩下3个，超过半数，可以重新选举。如果有3个节点，那么挂掉1个节点，还有剩下2个正常节点，超过半数，可以重新选举，正常服务。]]></description><category></category></item><item><title><![CDATA[Springboot+Mybatis+Druid整合ClickHouse]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/144743311</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/144743311</guid><author>z69183787</author><pubDate>Thu, 26 Dec 2024 14:18:58 +0800</pubDate><description><![CDATA[配置文件,不用apollo直接将配置文件写在 application.properties。说明druid连接池版本需要升级到 1.1.7以上才能支持ClickHouse驱动。]]></description><category></category></item><item><title><![CDATA[关于Period计算时间间隔问题，返回两个日期的间隔天数不对]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/144576150</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/144576150</guid><author>z69183787</author><pubDate>Thu, 19 Dec 2024 09:41:36 +0800</pubDate><description><![CDATA[计算间隔天数需要改成  ChronoUnit.DAYS.between(timeLocal, LocalDate.now());Period 在概念上和 Duration 类似，区别在于 Period 是以年月日来衡量一个时间段。Duration 用于计算两个时间间隔，Period 用于计算两个日期间隔，所以 between() 方法只能接收 LocalDate 类型的参数。]]></description><category></category></item><item><title><![CDATA[AbstractRoutingDataSource实现多数据源切换以及事务中无法切换问题]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/144540773</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/144540773</guid><author>z69183787</author><pubDate>Tue, 17 Dec 2024 17:44:05 +0800</pubDate><description><![CDATA[/使用ThreadLocal来存储当前线程的数据源名称，保证多线程情况下，各自的数据源互不影响//将注册的数据源以及设置的默认数据源设置到父类对应的成员变量中//返回当前数据源@Override4、配置多数据源DynamicDataSourceConfig/*** @desc 配置多数据源*/@Component。]]></description><category></category></item><item><title><![CDATA[关于 spring boot 的 Duration (java.time.Duration) 在yml properties 中的配置方法]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/143741696</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/143741696</guid><author>z69183787</author><pubDate>Wed, 13 Nov 2024 14:03:51 +0800</pubDate><description><![CDATA[ISO-8601格式在。]]></description><category></category></item><item><title><![CDATA[spring boot在使用redis共享session的情况下设置session过期时间]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/142828728</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/142828728</guid><author>z69183787</author><pubDate>Thu, 10 Oct 2024 18:08:52 +0800</pubDate><description><![CDATA[所以可以在注解上配置过期时间来完成我们的需求：@EnableRedissonHttpSession(maxInactiveIntervalInSeconds = 3600) 作者：原来是冠男啊 https://www.bilibili.com/read/cv16801777/ 出处：bilibili。一开始我认为只修改yml文件中的server.servlet.session.timeout=60m就行了，但是发现redis中的过期时间还是1800s。需求：延长session过期时间。]]></description><category></category></item><item><title><![CDATA[mybatis中Oracle参数为NULL错误问题及解决]]></title><link>https://blog.youkuaiyun.com/z69183787/article/details/141456583</link><guid>https://blog.youkuaiyun.com/z69183787/article/details/141456583</guid><author>z69183787</author><pubDate>Fri, 23 Aug 2024 09:45:02 +0800</pubDate><description><![CDATA[postgreSQL，MySQL，SQLSERVER都支持JdbcType.NULL类型，Oracle是不支持，适配的时候也因为这个问题导致mybatis报错。原因是当插入数据为null类型的时候，mybatis会自动转换为JdbcType.OTHER类型，因此需要修改一下参数的转换类型。当数据库为Oracle时候，插入某个参数数据如果为null，mybatis会报错，提示类型不正确，在Mybatis操作Oracle数据库的时候( PS：mysql中不会出现)，会遇到个小问题，]]></description><category></category></item></channel></rss>