- 博客(15)
- 收藏
- 关注
原创 @CachePut 注解失效问题
注解仅适用于通过 Spring 管理的 bean 的代理调用。如果方法是在同一个类内部直接调用的(即 self-invocation),那么 Spring 的 AOP 代理将不会生效,@CachePut 注解要求方法有一个非 null 的返回值,该返回值将被放入缓存中。如果方法返回 null,则缓存将不会被更新。方法移动到另一个 Spring 管理的 bean 中,并通过依赖注入的方式调用。注解也就无法起作用。
2025-03-26 17:54:39
262
原创 Nacos配置文件加载顺序
优先级:后加载的配置会覆盖先加载的配置。例如,cacsiot-tsbms-dev.yml 中的配置会覆盖 cacsiot-tsbms.yml 和 application.yml 中的同名配置。2、Profile 特定配置文件:application-{profile}.yml 或 application-{profile}.properties。2、根据 spring.profiles.active 的值,加载对应的 Profile 配置(如 application-dev.yml)。
2025-03-25 14:50:29
510
原创 若依cloud项目部署时遇到的nacos方面的问题
请将 <MYSQL_HOST>, <MYSQL_PORT>, <NACOS_DB_NAME>, <MYSQL_USER>, 和 <MYSQL_PASSWORD> 替换为你自己的 MySQL 数据库信息。PS:这是拉取最新的nacos版本,如果需要拉取别的版本可以加:版本号(如:docker pull nacos/nacos-server:v2.3.1)原因:nacos上的配置文件未正常配置,可以先登录到nacos控制台,在配置管理一栏看是否是空白的,是空白的则没有配置正确。
2025-03-18 09:14:23
271
原创 group by解决包含非聚合列的问题
问题引出:假设有张养殖户farmer表,里面有名称name,地址address,详细地址detailed_address等字段,现在我要统计一下同一个手机号的养殖户,条件是手机号不为空,且能够展示每个养殖户的名称、地址和来源等信息,sql语句该怎么写?我们知道,GROUP BY 语句中使用非聚合列,这种用法并不总是符合 SQL 标准的。按照 SQL 标准,SELECT 子句中列出的非聚合列必须出现在 GROUP BY 子句中,否则查询结果将是不确定的。
2025-01-06 12:09:52
870
原创 java泛型的一个注意点
这里的是方法级别的泛型声明,它与类级别的泛型T(如果有的话)是独立的。即使Test1类是一个泛型类,静态方法也不能直接使用类级别的泛型类型参数,除非它们是静态泛型成员(这在Java中是不允许的)。在Test1类内部,所有没有另外指定泛型类型参数的成员(字段、方法等)默认使用类级别的泛型类型参数T。因此,private T name;这就是为什么getName方法不需要使用声明(因为它自动继承了类级别的泛型类型参数),而printA方法需要使用声明(因为它是静态方法,并且有自己的泛型类型参数)。
2024-12-24 12:15:33
206
原创 springboot下导入excel
只是记录,没有介绍,想仔细了解可以参考给出的推荐文章。记录一次导入Excel文件操作的代码。Excel表导入的工具类。
2024-12-19 14:48:30
220
原创 java处理列表数据使之包含全部状态
问题引出:#springboot项目,要统计某个状态分布数据,如果我按状态分组查询后得到的状态分布列表数据,返回给前端,前端既要让我处理中文(即状态返回中文),也要让我把所有状态的数据都返回(即如果这个状态没有数量,则数量默认返回个0),我该怎么处理呢?首先定义状态枚举。
2024-12-09 11:13:45
238
原创 Collectors.toMap的使用
注意:Map.MergeFunction 的直接应用可能不像上面的示例那样直接,因为 Map.mergeFunction 并不是 Collectors.toMap 方法的一个直接参数。Collectors.toMap 是 Java Stream API 中的一个非常有用的收集器(Collector),它允许你将流(Stream)中的元素收集到一个 Map 中。通过指定键和值的映射函数以及(可选的)合并函数,你可以灵活地控制如何将流中的元素转换为 Map。
2024-09-04 17:43:10
703
1
原创 FastJson中JSON.parseArray、JSON.parseObject 与 TypeReference、JSON.toJSONString用法
这个方法用于将JSON数组字符串直接解析为指定类型的Java列表。举例:假设我们有一个 JSON 数组字符串,它表示一系列坐标点,每个坐标点都是一个包含经度和纬度的对象。我们想要将这个 JSON 数组字符串解析为一个 List 类型的列表,其中 CoordinateVO 是一个简单的 Java 类,用于表示坐标点。注意:在上面的代码中,我省略了 CoordinateVO 类的构造函数、getter 和 setter 方法的实现,但在实际使用中你应该包含它们。
2024-07-26 12:11:18
3497
原创 记录 java对一个list分页方法
无论使用哪种方法,都需要传入一个List作为待分页的源数据。分页的逻辑根据传入的页码(pageNumber)和每页大小(pageSize)来确定需要提取的元素范围。通过调用List的subList方法或者使用Stream API的skip和limit方法,可以截取出分页后的结果并返回。
2024-07-13 15:02:00
1146
原创 mybatis中<choose>, <when> 标签和<if>标签
注意,在第二个示例中,我们使用了额外的 标签来检查是否所有条件都不满足(即用户名和邮箱都为空),这可能会使 SQL 映射文件变得稍微复杂一些。, 标签与 标签在 MyBatis 中都用于构建动态 SQL,但它们之间存在一些关键的区别和不同的使用场景。逻辑: 标签的逻辑是基于单个条件的,多个 标签可以在同一个 SQL 语句中独立使用,每个 结构: 标签是独立的,它可以包含自己的 test 属性来定义条件。
2024-07-02 15:24:36
1735
原创 java报错Variable used in lambda expression should be final or effectively final
这个规则存在的原因是因为lambda表达式在本质上可以被看作是一个匿名的内部类,并且内部类在Java中对于其引用的外部变量有一个特殊的限制:这些变量必须是final的,以确保它们在内部类被实例化之后不会被外部代码修改,从而保持内部类引用的一致性和稳定性。在Java中,lambda表达式捕获其外部作用域中的变量时,这些变量必须是不可变的,以确保线程安全和一致性。这意味着这个变量在lambda表达式外部被初始化后,在lambda表达式被捕获并可能执行的整个过程中,其值不应该被修改。为什么需要这种限制呢?
2024-07-01 11:58:46
853
原创 mybatis中 N+1 查询问题的引出、分析和解决
具体来说,当你从数据库中查询一个对象(比如用户),而这个对象又关联了多个其他对象(比如用户的订单列表),你可能会期望 ORM 框架执行一个 JOIN 查询来获取所有必要的数据。但是,请注意,你可能需要执行一个额外的查询来获取总记录数以填充分页信息。请注意, 标签中的 select 属性是一个子查询的 ID,这意味着 MyBatis 会首先执行主查询(在这个例子中是 getUserById),然后对于主查询返回的每一行,它都会执行子查询(在这个例子中是 getOrdersByUserId)来获取相关的订单。
2024-06-05 11:08:36
1839
1
原创 nacos开启鉴权配置,出现报错异常解决
开启鉴权后运行startup.cmd -m standalone可能报错,需在配置文件中设置nacos.core.auth.server.identity.key,由于nacos.core.auth.server.identity.key是一个自定义的值,你可以选择任何你觉得合适且安全的字符串作为这个键。重要的是,这个键和对应的值需要在Nacos服务器和客户端之间保持一致,以便正确地进行身份验证。的配置文件中,需要配置访问服务端的账户和密码信息。
2024-03-08 11:49:38
2616
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人