需求:在Mapper层中添加/更新数据操作,需要对应修改表字段的创建时间/最后修改时间 需求分析:可以给Mapper层中的新增/修改方法添加自定义注解,然后使用AOP的前置通知,在通知内通过反射获取到Mapper层中的方法对象,再获取到方法上的注解,再根据注解的值进行对应的操作。新增数据,设置创建时间、最后修改时间;修改数据,设置最后修改时间。 方式一 @Before("切点表达式") publicvoidbefore1(JoinPointjp){ //先拿到被增强的方法的签名对象 Signaturesignature=jp.getSignature(); //判断被增强的目...

  TEZNKK3IfmPf   15天前   20   0   0 MyBatisIDEAjava

说明:当我们在Windows上开发时,不可避免的会用到一些中间件,如Redis、Zookeeper、Nacos等等,当在项目中使用到本地的这些服务器时,我们需要把本地的服务器启动,会开启下面这样的一个窗口。 Redis服务器; 这样有几点不好的地方:1)服务器是窗口化,不好管理;2)重启电脑或关闭窗口后,服务器就关闭了,需要重启; 本文介绍如何将这些服务器配置为Windows的一个服务; 如下: Redis 首先,配置Redis环境变量,将bin路径添加到环境变量中。然后,打开CMD命令,输入下面的命令; redis-server--service-installredis.wind...

  TEZNKK3IfmPf   15天前   20   0   0 zookeeperwindowsredis

说明:本文介绍设计模式中,创建型设计模式中的工厂模式; 飞机大战 创建型设计模式,关注于对象的创建,本文介绍的简单工厂和工厂模式同样也是。举一个游戏例子,如飞机大战游戏中,屏幕中敌人类型有坦克、飞机,会随机出现在画面的上方; 我们可以简单的将敌人抽象为一个抽象类,然后分别创建对应的实现类,如下: (敌人抽象类,注意属性的修饰符,protected,子类中需要用到) /敌人抽象类/ publicabstractclassEnemy{ /敌人的坐标/ protectedintx; /敌人的坐标/ protectedinty; /抽象方法/ publicEnemy(intx,inty){...

  TEZNKK3IfmPf   15天前   19   0   0 设计模式springjava

说明:elasticsearch查询操作除了使用DSL语句的方式(参考:elasticsearch查询操作(语句方式)),也可以使用API的方式。 准备 使用前需先导入依赖 <!--RestHighLevelClient依赖--> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency> 创...

说明:将数据填充到Excel模板中,报下面这个错误:Forinputstring:"" 解决:模板上对应字段错误,忘了加“.”(点)

  TEZNKK3IfmPf   15天前   15   0   0 exceljavaSpringBoot

说明:ffmpeg是一款非常好用的媒体操作工具,包含了许多对于视频、音频的操作,有些视频播放器,实际上就是套了一个ffmpeg的壳子。本文介绍ffmpeg的使用以及一些较为实用的命令。 安装 ffmpeg是命令行操作的,不需要安装,可在官网下载压缩包; 解压到一个没有中文、没有数字的路径下,配置一下环境变量,这些都是基本操作,不再详细介绍; 打开CMD,输入ffmepg,出现以下信息表示环境变量配置成功; 使用 命令1:提取视频所有帧 有时我们需要对视频图像进行处理,可以考虑把视频按帧提取出来成图片,再使用代码对图像进行逐帧处理,可使用以下命令: ffmpeg-i<视频文件名&...

  TEZNKK3IfmPf   15天前   20   0   0 ffmpegjava

删除数据库记录错误:Unexpectedupdatecountreceived(Actual:2,Expected:1).Allchangeswillberolledback. 解决:同时删掉ID为8的记录就行了 分析:这种情况是未设置主键约束,插入了相同的记录导致的。推测应该是框架对数据库的操作是事务性的,两条记录完全相同的话,无法区分。

  TEZNKK3IfmPf   15天前   22   0   0 MyBatis数据库mysql

说明:本文记录一次偶然出现的空指针异常,在微服务架构中,一个服务在调用另一个服务时,出现了空指针异常。 业务描述:在做订单超时功能时,大家都知道,可以使用RabbitMQ延迟队列,下单的同时给队列发送一个延迟消息(消息的内容是订单号),比如延迟10分钟。10分钟之后,该消息被消费者监听到,会根据该订单ID查询数据库,看该订单的状态是否为已支付,是则忽略,否则取消该订单,恢复商品库存等等其他操作,然而此时出现了空指针异常,消息未被消费,被路由到死信队列中。 (微服务调用报空指针异常) (消息被路由到死信队列) 如下图的第三步: 分析 首先排除FeignClient的问题,因为下单减少库...

  TEZNKK3IfmPf   15天前   17   0   0 java拦截器

说明:今天在做Nacos、Dubbo整合的时候,在父模块中做了版本限制,出错后就又把版本控制什么都删掉,回退到最开始的状态,此时父模块下面的服务右侧的maven里面没有pluginsdependence,然后项目全都报错。 问题描述&解决 问题解决:排查原因是因为父模块里面引入了下面数据库驱动的依赖,去掉后刷一下pom文件就可以了 问题分析 原因是,我上面有版本控制,控制MySQL的版本是5.1.47;而MySQL5.X的版本需要用下面这个连接驱动依赖,8.X的版本才用上图中的 <dependency> <groupId>mysql</group...

  TEZNKK3IfmPf   15天前   9   0   0 mavenjavaSpringBoot

说明:设计模式(DesignPattern)对于软件开发,简单来说,就是软件开发的套路,固定模板。在学习设计模式之前,需要首先学习UML(UnifiedModelingLanguage,统一建模语言)和面向对象设计的七大原则。 UML 设计模式在代码开发之前,先需要使用设计图的方式表现出来,UML是生产设计图的语言,也就是模型语言。UML的结构有视图(View)、图(Diagram)、模型元素(ModelElement)、通用机制(GeneralMechanism),这里不做过深的介绍,只介绍类图和类之间的关系。 类图(ClassDiagram) 结构 一般来说,一个类由三个部分组成:类名...

  TEZNKK3IfmPf   15天前   21   0   0 设计模式

说明:本文介绍设计模式中,创建型设计模式中的最后一个,建造者模式; 入学报道 创建型模式,关注于对象的创建,建造者模式也不例外。假设现在有一个场景,高校开学,学生、教师、职工都要办理相关的报道手续,如签到、个人信息录入、分配身份证明(学生证、教师证、职工证)等等; 首先,创建一个抽象类,如下: (Person,人员类,有签到、个人信息、身份证明属性) /人员/ publicclassPerson{ /签到/ privateStringsignIn; /个人信息/ privateStringprofile; /身份证明/ privateStringidCard; publicStr...

说明:本文介绍设计模式中,创建型中的原型模式; 飞机大战 创建型设计模式关注于对象的创建,原型模式也不例外。如简单工厂和工厂模式中提到过的飞机大战这个例子,游戏中飞机、坦克对象会创建许许多多的实例,每个实例除了坐标,是一模一样的,如果每次都用关键字new去创建,是非常消耗时间的。 (Enemy,敌人抽象类) /敌人抽象类/ publicabstractclassEnemy{ /敌人的坐标/ protectedintx; /敌人的坐标/ protectedinty; /抽象方法/ publicEnemy(intx,inty){ this.x=x; this.y=y; } /绘制...

  TEZNKK3IfmPf   15天前   20   0   0 设计模式java

说明:elasticsearch是目前最流行的搜索引擎,功能强大,非常受欢迎。特点是倒排索引,在海量数据的模糊查找领域,效率非常高。elasticsearch的安装和使用参考:es安装及使用。 本文介绍在es的索引库(index)操作和文档(document)操作,相当于数据库的表操作和数据操作。 索引库(index)操作 创建索引库 格式:PUT/索引库名 PUT/student { 映射,索引中文档的约束 "mappings":{ 字段 "properties":{ 姓名 "name":{ 类型为text,表示此字段参与分词 "type":"text", 分词器为ik_smar...

说明:惰性队列是为了解决消息堆积问题,当生产者生产消息的速度远高于消费者消费消息的速度时,消息会大量的堆积在队列中,而队列中存放的消息数量是有限的,当超出数量时,会造成消息的丢失。而扩容队列,实际上不太现实,因为队列的消息是存在内存中的,内存也有上限。 从RabbitMQ3.6.0版本开始,增加了惰性队列的概念(LazyQueues),惰性队列在接收到消息后是存到磁盘中,而不是内存,只有当消费者消费消息时,才把消息从磁盘中读取出来,加载到内存中。 使用 @RabbitListener方式 @RabbitListener(queuesToDeclare=@Queue( name="lazy....

  TEZNKK3IfmPf   15天前   16   0   0 rabbitmq分布式

说明:使用RabbitMQ发送消息,消息是对象,出现下面这样的错误; 错误信息:Causedby:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:Cannotconstructinstanceofcom.hmall.item.pojo.Item(noCreators,likedefaultconstructor,exist):cannotdeserializefromObjectvalue(nodelegateorproperty-basedCreator) 分析: 翻译说,无法构造实例; 于是,看一下我的实例...

  TEZNKK3IfmPf   15天前   18   0   0 rabbitmqjava

说明:在windows上,任何应用程序都是通过.exe启动的。我们可以通过配置环境的方式,将应用程序的路径配置到环境变量path变量里,这样就可以使用cmd窗口,敲应用程序的名称来启动应用程序。 如下,可启动wps应用: 但是,如果某个应用程序名称过长,这样就比较麻烦。如Redis的可视化应用(AnotherRedisDesktopManager.exe): 本文介绍对于这类应用程序,如何通过bat文件来间接启动。 通过bat启动应用程序 首先,在该应用程序所在的目录创建一个bat文件,内容如下: @echooff start"""D:\dev\AnotherRedisDesktopM...

  TEZNKK3IfmPf   15天前   12   0   0 windowscmd

问题一:导出数据时,这行代码返回null,导致导出excel失败; Workbookworkbook=ExcelExportUtil.exportExcel(params,map); 解决:排查出来,是因为版本问题,autopoi版本是1.2.1; 升级为1.4.6就OK了 问题二:启动项目时,IDEA把resource下面的excel模板搬到target文件夹时,excel模板文件损坏打不开; 这个问题非常隐蔽,像我,这两个问题是同时出现的。就是说,可能问题一出现后,更换了autopoi版本,又因为模板文件损坏,打不开,导出数据还是错误。就会让人感觉问题一更换版本没有...

  TEZNKK3IfmPf   15天前   15   0   0 excelspringcloudSpringBoot

上次做了一个皮卡丘识别的模型,如下图,不知道怎么搭建yolov5训练模型,这次就是把这些训练的模型整合起来,将yolov5模型部署到web端,实现动态选择模型,上传或直接拖拽图片至窗口就能返回识别结果与json格式文件 演示: 资源下载路径👇 yolov5模型部署到web端-深度学习文档类资源 先到文件的路径下执行pipinstall-rrequirements.txt更新一下包 pythonserver.py启动  打开http://localhost:8000/ 在model_selection_options这里添加模型选项,这是我提前在网上找了一些图片,训练出来的...

  TEZNKK3IfmPf   15天前   16   0   0

n8n是一款开源的工作流自动化工具,类似于IFTTT。它的优点是开源、可以自托管、下载安装方便、易于使用,可以互联上百种服务。 n8n基于节点能够将任何工具连接在一起,轻松部署不同类型的任务。它可以做很多事情,比如:从数据库中获取数据后下载为excel然后通过邮件发送给其他人。 部署 因为安装比较麻烦,这里只演示使用docker 快速使用dockerrun dockerrun-it--rm--namen8n-p5678:5678-v/.n8n:/home/node/.n8ndocker.n8n.io/n8nio/n8n  因为使用dockerrun很容易丢失使用时的数据,推荐使...

  TEZNKK3IfmPf   15天前   16   0   0 Docker

        由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。在学习代理模式的时候,可以去了解一下Aop切面编程AOP切面编程_aop编程,Aop底层实现通常使用代理模式 代理(Proxy)模式分为三种角色: 抽象角色(Subject)类:通过接口或抽象类声明真实角色和代理对象实现的业务方法。 真实角色(RealSubject)类:实现了抽象角色中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象。 代理...

  TEZNKK3IfmPf   15天前   11   0   0 设计模式
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~