SSM
文章平均质量分 65
yogima
邮箱:yogima@qq.com
展开
-
在Spring Data JPA中使用@Query注解
在以往写过几篇spring data jpa相关的文章,分别是Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询)Spring Data JPA实现分页多条件查询2都是通过代码而不是sql来完成查询的,但是在做复杂情况的查询时,难免会用到@Query写sql语句。原创 2024-06-28 18:35:06 · 946 阅读 · 0 评论 -
使用shell脚本删除rabbitMq的exchange
在Java里面,exchange和queue往往是根据注解自动生成的,非常方便,但是当版本升级改变了exchange类型(例如从direct改为fanout)的时候,就会发现组件启动不了了… 这是因为同名exchange在上一版本组件卸载时并不会被删除,名称冲突导致无法创建,而且很遗憾它也不能自动更新。所以我的解决方法是在组件的安装脚本里面,通过http api的方式去删除可能重复的exchange和queue编写一个删除exchange的脚本# 删除exchange的方法,有几个exchange调用原创 2021-12-17 15:34:54 · 1637 阅读 · 0 评论 -
生产者消费者模式——BlockingQueue
1、BlockingQueueBlockingQueue就是阻塞队列,向其插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;取出数据时,如果队列已空,线程将会阻塞等待直到队列非空。接口2、生产者消费者模式...原创 2021-08-16 14:55:15 · 1022 阅读 · 0 评论 -
Spring Boot 异步处理 @Async
1、异步和同步之前写了一个镜像上传的功能,先是分片上传,上传完毕后还要使用docker命令将镜像加载到本地,给镜像打标签并自动推送。在这个过程中如果使用同步,那么方法的返回会很慢很慢,要等这些步骤都执行完才能进行返回。如果做异步处理,就可以在上传完毕后先行返回结果,用户不用进行等待,后续步骤都在后台进行。2、Spring Boot异步处理①在启动类中使用注解@EnableAsync,启用异步处理②在需要异步处理的方法上使用注解@Async十分方便。但是注意这里的异步方法在本类调用是无效的,所以异原创 2021-08-14 15:23:03 · 1129 阅读 · 0 评论 -
Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询2 in的用法(含于)
之前写过一篇Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询),但是筛选条件都是单一的,并不存在包含关系,例如我传ID[1,2,3],希望找到ID是这里面其中一个的所有记录。这时候就需要使用in。示例场景:根据项目名称查询人员,但是人员表中只有一个项目ID,也即,首先需要通过项目名称模糊查询到对应的项目ID列表,再通过这个ID列表去筛选人员。代码:筛选条件方法,使用in:private Specification<User原创 2021-06-02 20:12:37 · 2195 阅读 · 0 评论 -
Spring Cloud概念及Feign使用方法简介
文章目录一、集群、分布式和微服务二、服务治理框架:Eureka三、远程调用工具类:RestTemplate一、集群、分布式和微服务仅谈谈自己的理解,可能有不对或者不到位的地方,欢迎指正。集群是指多个服务器通过局域网或其他连接方式进行连接,可以被看作同一台服务器,协同完成工作,来提高性能或可靠性。这些服务器,应该也可以通过同一个ip进行访问。分布式是指一个业务拆成多个子业务,部署在不同的服务器上以提高效率。集群和分布式并不冲突,也有分布式集群,即既将一个大的业务拆成不同的子业务,同一个子业务也可以用原创 2021-04-06 12:18:24 · 900 阅读 · 0 评论 -
Spring Data JPA实现分页多条件查询2
之前写过一篇博客Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询)然后发现还有其他两种写法,会更简便一些。1、使用JPA自带的findByXxx接口示例:default方法在java8以后,接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口中被default标记的方法为普通方法,可以直接写方法体。实现类会继承接口中的default方原创 2021-04-06 10:44:50 · 1573 阅读 · 2 评论 -
RabbitMQ简介并在SpringBoot项目中使用RabbitMQ
rabbitMQ是一个开源的消息代理和队列服务器,通过普通协议在完全不同的应用之间共享数据。RabbitMQ使用Erlang语言编写,并基于AMQP协议Erlang语言 数据传输延迟低(利于承载高并发) socket也一样rabbitMQ可以与SpringAMQP完美整合,SpringAMQP框架提供了原生的rabbitMQ api 也提供了丰富的拓展APIrabbitMQ集群模式丰富,表达式配置,HA模式,镜像队列模型AMQP:高级消息队列协议 是一套规范生产者 消费者 虚拟主机 里面的交换机原创 2020-09-29 16:23:58 · 862 阅读 · 0 评论 -
Spring Data Jpa查询全部并排序
1、Repository层只需要简单地extends JpaRepository,依旧不用写任何东西。因为它自己其实有一个findAll(Sort sort)的方法,直接用就可以了。2、Service层中如下List<xxxDO> xxxDOS = xxxRepository.findAll(new Sort(Sort.Direction.ASC,"属性名"));但注意springboot2.2.1及以上的版本Sort的构造方法变为私有,需要像下面这样写:List<xxxDO&g原创 2020-08-24 11:35:02 · 5241 阅读 · 0 评论 -
Spring Data JPA 使用JpaSpecificationExecutor实现多条件查询(分页查询和非分页查询)
文章目录1、Repository层继承`JpaSpecificationExecutor`2、Service层编写方法设置筛选条件Specification3、在Service层调用刚刚编写的方法和Repository层的方法实现查询①非分页查询②分页查询1、Repository层继承JpaSpecificationExecutor<T>如下:@Repositorypublic interface UserRepository extends JpaRepository<UserD原创 2020-08-19 15:38:48 · 1957 阅读 · 0 评论 -
SpringBoot中的定时功能——@Scheduled
最近在做一个关于健康码的小demo,需要一个每日上报信息功能,每天第一次登录的时候需要上报自己的健康信息,所以我的想法是用一个字段来标识今天用户是否上报过,如果没有就让前端显示上报页面,因此就涉及到了定时,在每天0点的时候需要把所有用户的那个字段都设为false。其实定时也很简单,如下所示即可,只要程序启动了就可以,也不需要用任何东西去调用下面的程序。不过虽然不需要被调用,它还是需要使用注解@Component,这是为了把它塞到Spring的容器中,所有的操作都是在Spring容器中进行的。packag原创 2020-08-14 20:35:39 · 308 阅读 · 1 评论 -
在SpringBoot项目中使用Spring Data JPA完成简单的登录注册
目录1、Maven依赖及application.properties配置2、实体类(BO)使用@Entity注释3、Repository(dao层)使用@Repository,继承JpaRepository<>4、在UserServiceImpl中进行调用5、UserReqDTO、UserRespDTO和UserRegisterDTO6、UserRestService和UserRestServiceImpl1、Maven依赖及application.properties配置<depen原创 2020-08-14 20:13:26 · 1056 阅读 · 0 评论 -
SpringMVC数据绑定
文章目录简介1、简单数据2、数组3、简单对象4、多级对象5、同属性对象6、集合对象①list对象②Set③Map7、json简介数据绑定是指将界面上的属性绑定到一个对象的某个实例上的某个属性。1、简单数据如果是简单数据,可以使用基本类型或是包装类型进行绑定,如果使用基本类型比如int,则说明这里的key是必须传的,如果不传入数据或传入的数据不是数字,则会报错因此对于可能为空的数据,需要使用包装类型。当然在实际应用中可以通过@RequestParam对是否必须进行配置,设置为@RequestPara原创 2020-08-05 17:16:21 · 272 阅读 · 0 评论 -
快速入门SpringMVC
文章目录你或许需要一些struts2基础简介基本流程1、在web.xml中配置入口servlet2、配置文件为dispatcher-servlet.xml(相当于struts.xml)配置文件命名文件位置① WEB-INF文件夹下② 根据contextConfigLocation的value进行判断文件内容①数据库信息还是配置在applicationContext.xml中②***spring注解...原创 2019-07-08 15:43:19 · 175 阅读 · 0 评论 -
在IDEA中使用SpringBoot创建第一个SSM程序(数据库使用postgresql,jdk版本为11)
文章目录一、写在前面二、安装IDEA并配置Maven三、SpringBoot是做什么的?四、创建一个SpringBoot工程1、通过IDEA的SpringInitializr创建2、通过官网创建五、安装并创建PostgreSQL数据库1、安装地址2、建表3、插入数据及设置主键4、注意事项!非常重要!六、编写application.properties,启动项目七、Mybatis Generator工具1、引入依赖2、mybatis-generator.xml3、自动生成八、测试一、写在前面对于我而言,在原创 2020-07-31 16:17:47 · 765 阅读 · 1 评论