- 博客(54)
- 资源 (2)
- 收藏
- 关注
原创 SpringJPA 做分页条件查询
相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到. 今天我整理了一下在这里分享一下.@Autowired@Service@Autowired//创建一个Pageable对象,其中包含了请求的页码(productInstParams.getPageNo()),每页大小(productInstParams.getPageSize()),排序规则以及排序字段名。
2024-03-24 23:37:02 1474 4
原创 基于IDEA操作springboot项目构建docker镜像部署到云服务器并在idea把镜像推送到harbor仓库
docker部署springboot项目 并推送到harbor
2023-06-27 17:42:55 1478
原创 如何利用spring自带的事件发布订阅实现各种异步操作
我们的一个新项目登录相关的是用的keycloak,这也就说明 我们的用户是存在于keycloak中,我接到的需求是 批量导入用户功能,这也就意味着 我要找到keycloak的批量新增用户接口,但很不幸的时keycloak并没有批量新增用户的接口只有一个新增用户的接口。只要service里面的方法执行完之后就会给前端返回响应消息了,后面的事件监听到之后处理的逻辑跟返回前端没关了也不会影响接口超时,如果监听事件处理的逻辑得结果有需要返回前端的话,建议用websocket去处理吧 主动向前端去发送处理结果。
2024-09-25 16:36:51 503
原创 浅谈Java23种设计模式之11种行为型模式的使用场景(第三部分)
浅谈Java23种设计模式之行为型模式的使用场景(第三部分)策略模式(Strategy),状态模式(State),模板方法模式(Template Method),访问者模式(Visitor)
2024-06-19 17:46:07 1163
原创 springJPA如果利用注解的方式 进行多表关联操作
springJPA动态分页今天我们来写个 利用jpa的@Query注解实现多表联合查询的demo不建议在实际项目中用这玩意.1.用@Query写的sql 可读性极差,给后期维护这段代码的同学造成极大的困扰,2.费半天劲写出来的代码 人家用mybatis在mapper.xml里面直接几行sql就搞定了,3.如果真要必须得用@Query 去写sql 一定加好注释,(可能也许 你们这项目前期设计的时候没想好数据结构导致设计成这样)直接上代码 我懒得解释了controllerservice。
2024-04-01 16:40:50 473
原创 一种多策略下RabbitMQ的延时队列实现
最近在开发一款系统中遇到这样一个场景,A系统开通套餐需要把套餐信息以邮件的形式发送给相关工作人员,经过人工审核通过后,在B系统里面开通,A系统会调B系统套餐列表接口查询套餐是否开通成功,开通成功则从A系统去完成订单,假如超过设定时间未开通成功,则关闭订单并退费.(这东西俗称"套娃")这时候用RabbitMQ的延时队列就可以完美的解决这个问题。
2023-08-15 20:22:27 1939
原创 Could not write JSON: java.lang.Integer cannot be cast to java.lang.Double; nested exception is com.
问题
2023-03-10 16:39:49 1176
原创 已解决用poi word转pdf报java.lang.NoClassDefFoundError :org/apache/poi/POIXMLDocumentPart
org/apache/poi/POIXMLDocumentPart
2022-08-05 14:03:54 11775 27
原创 Mybatis动态SQL引发的悬案
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NumberFormatException: For input string: "606f0daa79d603bb2d6ece4e235b2279"### Cause: java.la
2022-03-25 19:54:59 1244
原创 Mybatis类型转换器Boolean转int
这个类型转换器的意思就是你前端传过来一个Boolean类型的参数,但是呢数据库需要存的字段类型是个int或者tinyint,这个时候呢你就可以写个mybatis的类型转换器了具体写法如下:场景 前端传人员状态是Boolean 数据库存0或者1类型转换器他需要继承这个BaseTypeHandler类package com.enjoy.stu.handler;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.iba
2022-03-22 21:53:59 5357
原创 面试题:递归打印1-100数字
@Test public void testString() { number(100); } public static void number(int num){ if (num ==1){ System.out.println(1); return; } number(num-1); System.out.println(num); ...
2022-03-11 15:28:26 804
原创 Map转实体类 类库
今天给你们推荐个工具类<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.6.5</version></dependency>官网:https://hutool.cn/docs/#/首先定义一个map Map<String, String> var
2021-05-20 09:48:47 811
原创 用RestTemplate调用第三方提供的API接口
首先按照惯例分享一个提供免费接口的网站:聚合数据直接点击去自己注册个账号申请个免费的接口测试今天用RestTemplate调一个天气预报的接口申请之后记住这个key后面拼装url会用建议直接写在配置文件里先看API文档介绍很清晰看到该接口请求方式支持get或者post在看请求示例 :后面带着两个请求参数 这个地方这两个参数顺序前后无所谓下面直接来代码:先弄个key的属性类/** * 类说明: <br> * 〈天气预报接口key〉 * * @Author: wl
2021-03-16 11:33:00 1761 1
原创 JS通过List列表生成树结构
/** * @param {Array} nodes: 原始树结点 * * * @param {Object} config: * { * id: '', * pid: '', * sn: '' * } */function arrayToTree(nodes, config) { if (!Array.isArray(nodes)) { console.error('params arr need Array'); return [
2021-03-08 17:42:29 688
原创 poi-tl的区块对的循环功能
这个例子是官网上的 10.4野生动物现状但是跟官网写的不太一样 他用的自己写的工厂类我是用的他推荐的数据模型Poi-tl官网地址package com.poi.template;import com.deepoove.poi.XWPFTemplate;import com.deepoove.poi.data.ChartMultiSeriesRenderData;import com.deepoove.poi.data.PictureRenderData;import com.deepoo
2021-01-14 15:44:43 6766 7
原创 SpringCloud的feign调用第三方公司提供的接口并按照指定对象类型返回
我从网上找了个接口的提供方 里面的接口有很多免费的哦!分享一下:https://www.juhe.cn/注册完账号申请个接口 用来测试举例 会有个Key保存好用得到点进去看API文档接下来撸代码:第一步:引入springcloud的openfeign <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>s
2020-12-02 16:42:42 1559
原创 mongodb的聚合查询aggregate group count操作
首先来看 Mysql统计数据SELECT a.entity_id, COUNT( DISTINCT a.train_user_node_id ) FROM t_train_user_node_study_detail a WHERE a.entity_id IN ( 1, 26 ) GROUP BY a.entity_id用MongoDB的aggregate查询db.train_user_node_study_detail.aggregate([ { $match :{
2020-11-21 13:08:54 4236
原创 java对一个课程树进行无限极递归获取其中的某一个值
先看看List < Object>数据"courseNode": [ { "_id": NumberLong("1615240830262"), "showName": "《危险货物道路运输规则》第5部分:托运要求", "fullName": "《危险货物道路运输规则》第5部分:托运要求", "type": "00", "lev": NumberInt("1"
2020-11-21 12:06:38 413 3
原创 Git上clone项目提示无权限 但是web页面可以直接download
一开始的错误提示说什么找不到XXXXXXX.git文件我把项目删掉之后寻思从git上直接下载然后 又提示我说什么没有下载权限我中间切换过git账号可能是变更了邮箱然后从git bash here里执行了下git config -l查看了下配置 确实不一样然后打开看了下是这个样子的 然后我又修改了user.name和email的值 修改为正确的之后修改命令:git config --global user.name ‘XXX’git config --global us
2020-10-20 12:21:21 1527
原创 Java每日一面试题 积累
1.Dubbo 的整体架构设计有哪些分层?参考答案:接口服务层(Service):该层与业务逻辑相关,根据 provider 和 consumer 的业务设计对应的接口和实现配置层(Config):对外配置接口,以 ServiceConfig 和 ReferenceConfig 为中心服务代理层(Proxy):服务接口透明代理,生成服务的客户端 Stub 和 服务端的 Skeleton,以 ServiceProxy 为中心,扩展接口为 ProxyFactory服务注册层(Registry):封装
2020-10-09 14:24:37 220 1
原创 本博客只写一些开发中用到的技术点后续会不断更新就当是个笔记了
1.mybatis递归查询当前节点下的所有子节点sql语句:SELECT id FROM ( SELECT t1.id, IF ( FIND_IN_SET( pid, @pids ) > 0, @pids := CONCAT( @pids, ',', id ), 0 ) AS ischild FROM ( SELECT id, pid FROM t_org t WHERE t.type ='2' and t.status != '2' ORDER BY pid, id
2020-09-29 10:39:14 162
原创 mybatis foreach集合对象
数据库是mysql入参TrainUserDistributionMonthForm@Datapublic class TrainUserDistributionMonthForm extends BaseForm { private static final long serialVersionUID = 3829583027163783711L; /** * 〈代理商维度〉 */ private List<OrgServiceAgent> o
2020-09-26 10:56:18 1916
原创 SpringCloud feign.FeignException: status 404 reading 解决思路
今天上班用postman测试接口的时候发现feign报了个异常控制台提示如下:2020-09-11 12:07:18,213 INFO [http-nio-30700-exec-3] [com.yd.godzilla.framework.handler.feign.RoutingNodeInterceptor-apply[41]] url is http://godzilla-service-user/findAllByMobileOrIdCard2020-09-11 12:07:18,246 E
2020-09-11 13:04:31 16626 3
原创 JDK1.8 List集合利用stream去重以及遍历
@Test public void getStreamList(){ List<String> list = Arrays.asList("AA", "BB", "CC", "BB", "CC", "AA", "AA"); //去重 List<String> collect = list.stream().distinct().collect(Collectors.toList()); collect.strea.
2020-08-25 10:19:08 2636
原创 mybaits框架xml文件报Cannot resolve symbol ‘SysDept‘
这地方提示的原因是找不到你这个实体类然后解决办法其实很简单去项目里找你这个类改成类的全限定类名就行了
2020-08-12 22:44:47 1807
原创 SpringCloud项目自动部署到docker里
微服务部署有两种方法1.手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚 拟机并拷贝至JDK容器2.通过Maven插件自动部署:对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容易出错。所以我们这 里学习如何自动部署,这也是企业实际开发中经常使用的方法。Maven插件自动部署步骤:(1)修改宿主机的docker配置,让其可以远程访问执行:vi /lib/systemd/system/docker.service其中ExecStart=后添加配置
2020-08-10 23:58:03 1219
原创 通过阅读源码看看springboot的启动流程 是怎么调用getWebServer这个方法的
1.启动类调用了run方法点进去2.返回一个run继续点进去3.创建SpringApplication返回了两部分 第一部分 new SpringApplication第二部分是调用run 方法先看看第一部分4.调了个this点进去看看5.其实SpringBoot启动就着两个步骤,先创建ConfigurableApplicationContext ,然后再调用Run方法。public SpringApplication(ResourceLoader resourceLoader, Cla
2020-07-14 11:30:20 416
原创 通过阅读springboot源码看看springboot是怎么加载tomcat的
1.springboot项目启动类找到@SpringBootApplication注解点进去2.可以看到他上面有个@EnableAutoConfiguration启用自动配置,点进去3.可以看到导入了一个AutoConfigurationImportSelector自动配置导入选择器,继续点进去4.他会去找一个META-INF/spring.factories配置文件里面有很多配置信息5.去导入的依赖里面找到这个文件打开6.ServletWebServerFactoryAutoConfi
2020-07-13 18:33:27 818
原创 MongoDB的一些基础用法
创建MongoDB容器docker run di --name=tianxingwen_mongodb -p 27017:27017 mongo远程登录mongo 192.168.53.132创建数据库use spitdb增删改查语法查询语法:db.集合名称.find()db.spit.find()根据id查询某条数据db.spit.find({"_id":“1”})db.spit.findOne({"_id":“1”})查询前几条数据db.spit.find().limit(
2020-06-19 10:13:33 217
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人