
后端开发
姚华军
这个作者很懒,什么都没留下…
展开
-
java运行exe文件时 CreateProcess error=740 请求的操作需要提升的问题
Java中有时候执行一个exe程序经常会包CreateProcess error=740, 请求的操作需要提升的错误 如下: Runtime.getRuntime().exec("d:\123.exe");CreateProcess error=740, 请求的操作需要提升!解决方案: Runtime.getRuntime().exec("cmd /c d:\123.exe");......原创 2020-02-11 11:01:03 · 8322 阅读 · 0 评论 -
java通过jna、jna-platform调用winapi的窗口程序
今天在调试awt的robot鼠标定位问题,每次移动的位置都不一样,最后定位到robot在java1.8下有bug,系统也不能随便升级java版本,没办法只能放弃这种方式。后来又选中了jna、jna-platform的方式调用,下面是大概的步骤,供日后和大家参考:1、引入依赖jar包 <dependency> <groupId>ne......原创 2020-02-11 21:15:14 · 6281 阅读 · 0 评论 -
centos系统下,使用Nginx发布编译完成的vue工程
配置文件如下server { #vue的访问地址和端口 listen 8081; server_name 192.168.40.121; #vue的工程文件存储路径(下面的静态文件可以直接访问) location / { root html/sailfish; try_files $uri $uri/ /index.html; index index.html原创 2022-03-17 16:34:22 · 181 阅读 · 0 评论 -
在线商城,运费模板数据库表设计
参照淘宝的主要功能,主要设计成4个表,表之间的关系为运费模板主表:包邮条件表 = 1:n运费模板主表:运送方式表 = 1:n运送方式表:运费模板地区信息表 = 1:n包邮条件表:运费模板地区信息表 = 1:n当运费模板主表的是否指定条件包邮 = 是的时候,包邮条件表起作用1、运费模板主表CREATE TABLE `supplier_template` ( `template_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主表主键ID原创 2021-12-20 19:26:59 · 2767 阅读 · 0 评论 -
Java响应式流框架Reactor中的Mono和Flux
1、响应流的特点先说一下响应流规范,它是响应式编程的基石,他具有以下特点:响应流必须是无阻塞的。响应流必须是一个数据流。它必须可以异步执行。并且它也应该能够处理背压。2、Publisher由于响应流的特点,我们不能再返回一个简单的POJO对象来表示结果了,必须返回一个类似Java中的Future的概念,在有结果可用时通知消费者进行消费响应。Reactive Stream规范中这种被定义为Publisher<T> ,Publisher<T>是一个可以提供0-N个序列原创 2021-08-09 16:05:59 · 6288 阅读 · 0 评论 -
Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its
idea使用过程中出现了一下错误尝试了很多中方法,最后在网上找到了解决方法:Build-rebuild project之后问题解决,具体原因未知。原创 2021-12-01 12:40:38 · 2332 阅读 · 0 评论 -
Springboot2 使用 史上最快HikariCP 高性能连接池
HikariCP 凭借体积小,性能高,稳定可靠的特性,已经成为目前体验最好的数据库连接池。HikariCP的优点不再论证,springboot2 默认使用的连接池就是 HikariCP。springboot2 默认使用 HikariCP 来提高性能,可以通过修改 application.yml 文件来配置 HikariCP 参数:spring: datasource: url: ......原创 2020-05-07 23:06:20 · 1097 阅读 · 0 评论 -
SQL中的时间戳转换成日期,计算天数差,进行比较
数据库中存的时间戳,如何进行各种时间间隔计算,直接上SQL语句select b.demandId from dj_api_designer_demandbid b left join dj_api_user_customizeddemand c on b.demandId = c.demandId where b.designerId = '37'......原创 2020-05-04 13:34:46 · 1985 阅读 · 0 评论 -
使用pinyin4j获取汉字的首字母
pom文件中引入pinyin4j包 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</vers...原创 2020-04-15 21:34:09 · 1261 阅读 · 0 评论 -
使用springboot进行事务处理
springboot进行处理,还是很简单的,两个注解搞定。首先在application中追加一个注解@EnableTransactionManagement@EnableTransactionManagementpublic class Application extends SpringBootServletInitializer {第二步在service的需要事务的方法上追加注解@T......原创 2020-04-15 21:22:49 · 590 阅读 · 0 评论 -
使用mybatis plus批量插入数据
之前用mybaits插入数据时,需要在sql语句中作特殊的处理,然后才能够批量插入数据。今天试验了一下mybatis plus的批量插入方式,简直太简单了,太爽了,真真切切的体会到了科技就是生产力。。直接上代码,一条语句就搞定,太爽了!!! @Autowired private OrderDetailsService orderDetailsService; ......原创 2020-04-15 21:16:24 · 24139 阅读 · 15 评论 -
springboot设置跨域的三种方式
方式一在需要跨域的整个Controller或者单个方法上添加@CrossOrigin注解方式二(全局配置)@Configurationpublic class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) ......原创 2020-03-30 17:32:01 · 806 阅读 · 0 评论 -
springboot多模块开发时,使用maven的package时的注意点
1、root模块的pom文件,root的名字是jndjplatform-console(主要做共通maven依赖的),内部含有两个模块jndjplatform-common(共通模块)、jndjplatform-manage(主工程模块)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apa......原创 2020-03-02 13:19:46 · 1954 阅读 · 0 评论 -
mybatisplus @Select注解中拼写动态sql异常
使用mybatisplus后,手写SQL语句很少了,偶尔使用@Select时,之前一直用实体类传递参数,完全能够正常使用,今天换成了参数传递,报下面的错误 @Select("<script>" +"select * from mi_taobao where 1=1" +"<if test='status != null'>......原创 2020-02-23 20:46:57 · 15981 阅读 · 0 评论 -
springboot2集成HikariCP连接池的坑( Driver does not support get/set network timeout for connections.)
启动springboot2的时候如下错误 Driver does not support get/set network timeout for connections. (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I)用的mysql驱动版本的问题<dependency> <groupId>mysql&l...原创 2020-05-07 23:10:38 · 8308 阅读 · 1 评论 -
Springboot2动态切换Mysql和Sqlserver数据库
最近项目中需要切换数据库,查找了一些资料,也做了一些实验,实现了动态切换多数据源的数据库,做法如下:1、依赖两种数据库的数据源 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <原创 2020-05-09 15:08:23 · 2431 阅读 · 1 评论 -
使用XWPFRun替换WORD中的占位符${xxx}
1、要填充的文件模板,里面需要填充的内容使用${xxxx}。2、以map的形式,编辑要填充的数据内容public class OtherDesignReportServiceImpl implements IOtherDesignReportService{ private XWPFHelper xwpfHelper = null; public OtherDesignReportServiceImpl() { xwpfHelper = new XWPFHelper(); }原创 2021-08-04 16:42:35 · 4521 阅读 · 0 评论 -
elasticsearch + ik + springboot集成,插入数据和分词、高亮查询
本次使用的中间件版本:elasticsearch:7.13.3ik:7.13.2springboot:2.1.3.RELEASE1、中文分词器IK下载安装下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases2、下载后,解压到elasticsearch的插件目录中3、修改IK的版本描述,因为这次用的IK的版本低于ES的版本IK的版本号修改成当前ES的版本号4、再次启动ES,通过ES的可视化工具,创建inde原创 2021-07-16 17:14:03 · 1905 阅读 · 3 评论 -
elasticsearch + elasticsearch-head下载、配置启动服务
1、下载最新的Elasticsearch下载地址https://www.elastic.co/cn/downloads/elasticsearchWindow版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch的目录结构如下:2、启动ES服务修改elasticsearch配置文件,config/elasticsearch.yml文件,添加配置是为了允许elasticsearch跨域访问,增加文件内容如下:http原创 2021-07-16 16:12:46 · 1952 阅读 · 1 评论 -
Spring Cloud Gateway:GlobalFilter和GatewayFilter的区别与联系
我们知道SCG有两种filter用来拦截web请求,分别是GlobalFilter和GatewayFilter,为什么要定义两种filter呢,他们之间有哪些区别和联系。1. global filter和gateway filter区别1.1 接口定义不一样global filter和gateway filter是分别定义了一个接口,他们的结构看起来很像,下面是glogal filter的定义:// GlobalFilter自己就是一个单独的接口,没有任何继承关系,里面就一个方法filter。简单原创 2021-07-12 15:18:04 · 3675 阅读 · 0 评论 -
springboot配置文件的加载顺
配置文件加载的优先级(由高到低)bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml很多人,一直在用springboot,但是对多个配置文件的加载顺序不甚了解,想通过这个文档mark一下...原创 2021-07-08 10:40:31 · 129 阅读 · 0 评论 -
Feign使用方法的简单实用方法
Feign是干什么的Feign是微服务架构中的一种服务调用方式,通过声明方式进行微服务调用,Feign可以帮助我们更加便捷编写接口。Feign的使用方法由三个部分组成:服务提供者,服务消费者,Feign客户端服务提供者:服务接口,接口定义需要加上@RequestMapping注解public interface IFeignService { @RequestMapping("/getMember") String getMember();}服务的具体实现,因为微服务是R原创 2021-07-07 13:49:15 · 2198 阅读 · 0 评论 -
nacos集成分布式事务插件Seata的序列化问题,实际上是Seata本身存在bug!!
最近做微服务,更换了分布式事务组件seata的版本,出现了莫名其妙的问题,分析了好长时间也没有找出问题,最后看了网络高手的帖子,最后解决了问题。1、错误现象17:10:46.037 [http-nio-9204-exec-1] ERROR i.s.r.d.u.p.JacksonUndoLogParser - [encode,127] - json encode exception, Type id handling not implemented for type java.lang.Object (b原创 2021-06-29 12:31:46 · 2266 阅读 · 8 评论 -
FeignClient与RestTemplate的区别比较简单研究
JAVA项目中接口调用怎么做?HttpclientOkhttpHttpurlconnectionRestTemplate上面是最常见的几种用法,我们今天要介绍的用法比上面的更简单,方便,它就是FeignFeign是一个声明式的REST客户端,它的目的就是让REST调用更加简单。Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息。而Feign则会完全代理HTTP请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。S原创 2021-06-16 17:59:42 · 462 阅读 · 0 评论 -
前端以base64格式上传图片,java解码转为MultipartFile
1、基于MultipartFile创建一个接收类BASE64DecodedMultipartFileimport org.springframework.web.multipart.MultipartFile;import java.io.*;/** * base64转换成MutipartFile的文件类 * * @author yaohj */public class BASE64DecodedMultipartFile implements MultipartFile { pr原创 2021-06-02 17:13:46 · 887 阅读 · 0 评论 -
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
整理一下mysql中各种类型的字节占用情况,见下图1、int、bigint、smallint 和 tinyint的区别1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到1271.BIT[M]位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为12.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4很小的整数。带符号的范围是-128到127。无符号的范围是0到255原创 2021-06-02 10:27:26 · 1115 阅读 · 0 评论 -
使用SXSSFDrawing向excel中插入图片
最近需要想excel中插入图片,发现框架提供的excel生成方法中,居然没有这个功能,没有办法只能自己再业务侧追加吧,看了下网络介绍,SXSSFDrawing的性能比较不错,下面是实现代码,供大家参考。1、定义 /** * 画图的顶级管理器 */ private SXSSFDrawing drawingPatriarch;2、实例化画图管理器(注意这个东西在一个sheet中只能获取一次) this.drawingPatriarch = (SXSSFDrawi原创 2021-05-31 15:32:33 · 2343 阅读 · 1 评论 -
msyql + java递归构筑树形结构
1、为了提高效率和其他功能用起来方便,做了一个存储过程,代码如下CREATE DEFINER=`root`@`%` FUNCTION `getConstructionRootId`(constructionId LONG) RETURNS varchar(1000) CHARSET utf8BEGIN DECLARE rootId VARCHAR(1000); SELECT pv.id INTO rootId FROM ( SELECT @id AS _id原创 2021-05-22 18:21:51 · 387 阅读 · 3 评论 -
@DeleteMapping和@PostMapping和@GetMapping和Content-Type使用记录
@RestController@RequestMapping(value = "demo")public class TestController { //Content-Type:application/x-www-form-urlencoded;表单提交form-data @PostMapping("/demo1") public String test1(@RequestParam("id") Integer id,@RequestParam("name") String原创 2021-04-02 18:07:17 · 3312 阅读 · 0 评论 -
springboot中新追加的module,接口访问不到的问题处理
1、新搭建的springboot框架,今天追加模块后,接口死活访问不通出现如下错误{ "timestamp": 1617180796891, "status": 404, "error": "Not Found", "message": "No message available", "path": "/contract/change/test1"}2、一直没想明白怎么回事,最后还是找公司的架构师给讲明白了原来是对于新追加的模块,在服务程序中,必须进行依赖原创 2021-03-31 16:58:18 · 4284 阅读 · 3 评论 -
Revit API IExportContext 各方法的生命周期
原创 2020-11-06 13:06:07 · 735 阅读 · 0 评论 -
mybatis批量插入数据后,批量获取自增主键ID的示例
1、mybatis中使用sql批量插入数据 <insert id="insertDept" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="deptId"> INSERT INTO sys_dept (parent_id, dept_name, levels, create_by, ancestors, types, create_time, status) VALUE原创 2020-09-12 14:08:20 · 3923 阅读 · 0 评论 -
Java 8 Lambda 表达式示例总结
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。以下是lambda表达式的重要特征:可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号:如果主体包含了一个语句,就不需要使用大括号。可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大原创 2020-08-12 11:06:51 · 199 阅读 · 0 评论 -
使用CompletableFuture在JAVA中进行异步多线程业务处理
CompletableFuture是java1.8中追加的新功能,在处理java多线程异步时相当的方便,下面是简单的用法简单的讲述了在非主线程中,执行完一个业务后接着执行另外一个业务的处理方法thenApplyAsync。 import java.util.concurrent.CompletableFuture; public void testCompletableFuture() throws InterruptedException { // 第一个任务:原创 2020-08-10 14:08:04 · 1081 阅读 · 0 评论 -
使用java的milo框架访问OPCUA服务的方法
最近接了一个项目,需要访问工业的实时数据库,数据库的对外开放接口是OPCUA协议的,经过多方比对,发现github上milo的评星较高,尝试了一下,还比较方便好用,现在把使用过程中的坑和大家介绍一下,网上比较全的资料不多,下面是整个过程全部的资料:本次采用KEPServerEX5模拟服务端,使用milo开发的程序作为客户端一、搭建服务端,KEPServerEX5的安装省略掉,下面是配置过程设置通道、设备、标签设置访问的用户名和密码设置通过opc-ua访问的节点二、使用milo的框架,开发客原创 2020-07-31 12:40:27 · 15781 阅读 · 42 评论 -
JAVA使用RXTXcomm包操作串口数据流
最近对接下位机,对方没有使用modbus总线协议来对接,直接使用的操作流对接,找了一下java中使用RXTXcomm.jar比较方便,下面是包的使用方法1、maven工程中引入依赖可能这个包不在阿里的maven仓库中,下载下来包,手动加载到本地的maven仓库中即可<dependency> <groupId>org.rxtx.RXTXcomm</groupId> <artifactId>RXTXcomm</artifactId>原创 2020-07-17 10:04:23 · 3064 阅读 · 22 评论 -
追加@Component类上后,再追加@Resource或@Autowired时对象为空
最近在写程序时发现在使用了@Component后,同时使用@Autowired自动注入service的时候发现并未注入成功,得到的对象是null经过调查发现,错误的写法@Component的生成时间点早于@Autowired,所以依赖不到对象,解决方法如下:@Componentpublic class SerialPortUtils implements SerialPortEventListener { @Autowired private EnvTemHumService envTemHu原创 2020-07-14 23:42:10 · 1896 阅读 · 1 评论 -
在maven中央仓库没有的jar包,如何追加到自己本地的仓库
大家做一些常规开发时,关联的jar包,中央仓库基本都有,直接用中央仓库的就可以了,但是做一些特殊的开发时,往往会牵扯到中央仓没有jar包,这种情况下如果想用maven开发如何做呢?这次我用工业总线modbus的jar包为例,给大家说一下怎么做。1、下载关联的jar包到本地2、使用脚本吧jar包追加到你的本地仓库中mvn install:install-file -Dfile=f:\modbus4j-3.0.3.jar -DgroupId=com.infiniteautomation -Dartif原创 2020-07-10 10:01:29 · 1777 阅读 · 0 评论 -
SpringBoot读取自定义环境配置信息的方法
1、追加rf.properties#设备信息同步地址#测试环境synchronization.pos_url.anchor: http://xx.xx.xx.xx:8080/jndjplatform_api/api/tongyuan/getAnchorInfosynchronization.pos_url.tag: http://xx.xx.xx.xx:8080/jndjplatform_api/api/tongyuan/getTSTagBeaconDatasynchronization.pos_原创 2020-07-05 09:19:52 · 228 阅读 · 0 评论 -
使用instsrv和srvany注册windows系统服务
1、下载配置instsrv和srvany下载地址:https://dl.pconline.com.cn/download/558946.html根据电脑属性复制文件:32位操作系统:将两个文件放入 C:\Windows\System32 文件夹下即可64位操作系统:除放入System32文件夹下,还需放入C:\Windows\SysWOW64 文件夹下2、jar包和bat运行文件在同一目录下3、追加服务win + r 打开运行窗口、 输入cmd 进入DOS窗口执行命令:instsrv r原创 2020-06-24 15:12:49 · 1084 阅读 · 0 评论