- 博客(59)
- 收藏
- 关注
原创 postgis空间索引不起作用
在项目中使用postgis空间数据,并建立空间索引,在使用SQL查询时发现查询速度非常慢,经过大神指导发现postgis空间数据库的SQL用法有一些注意点问题描述需要查询坐标3000米范围内的点及距离,SQL语句如下select st_distance(way,'SRID=4326;point(86.309978 42.325974)'),ST_Distance(way,'SRID=4326;point(86.309978 42.325974)',true),st_astext(way) from (
2022-02-24 18:20:59 712
原创 linux服务器安装geoserver
1、安装新建文件夹geoservercd /appmkdir geoserver上传geoserver二进制文件#xshell上传rz#选择文件#解压unzip geoserver-2.20.x-2022-01-06-bin.zip#如果没有安装unzip,可以安装yum install zip unzip解压之后的文件2、修改端口vi /app/geoserver/start.ini#修改端口,和其他端口冲突就修改,如果没有冲突可以不修改,默认8080getty.pro
2022-02-08 17:59:37 2081
原创 阿里云服务器安装postgresql
1、安装命令yum install postgresql-contrib postgresql-server -y初始化数据库postgresql-setup initdb网上的好多都是需要初始化的,不知道为啥我这没有初始化成功,好像不需要初始化启动服务systemctl start postgresql.service添加开机加载服务systemctl enable postgresql.service查看版本psql --version2、修改用户密码su -postg
2022-02-08 15:09:24 1831
原创 windows环境下将OSM数据导入pg库
预备条件装好postgresql数据库装好postGIS插件下载OSM数据OSM数据即OpenStreetMap数据,开源免费下载地址https://download.geofabrik.de/,这里我下载了中国数据导入准备1、创建数据库create database osm;2、数据库扩展这里应该只需要扩展第一个就可以了create extension hstore;create extension postgis;create extension pgrouting;
2022-01-07 18:17:37 1917
原创 linux防火墙
linux中有两种防火墙软件,conterOS7.0以上的使用Firewall,7.0以下的使用iptables,本文介绍firewall的使用开启防火墙systemctl start firewalld关闭防火墙systemctl stop firewalld查看防火墙状态systemctl status firewalld设置开机自启动systemctl enable firewalld禁用开机启动systemctl disable firewalld重启防火墙fire
2021-12-30 11:19:54 1304
原创 pg触发器以及自己遇到的错误
PostgreSQL 触发器PostgreSQL 触发器是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用。下面是关于 PostgreSQL 触发器几个比较重要的点:PostgreSQL 触发器可以在下面几种情况下触发:在执行操作之前(在检查约束并尝试插入、更新或删除之前)。在执行操作之后(在检查约束并插入、更新或删除完成之后)。更新操作(在对一个视图进行插入、更新、删除时)。触发器的 FOR EACH ROW 属性是可选的,如果选中,当操作修改时每行调用一次;相反,选中 FOR
2021-12-28 14:03:57 1885
原创 pg数据库中postgis的使用
做项目中遇到一个问题,计算经纬度坐标之间的距离,每次都使用方法计算可能非常耗时,恰好pg数据库中有postGIS这个插件,可以建立空间数据库,直接使用数据库的方法计算,非常方便安装postGIS插件首先去网站下载对应的版本的插件插件网址,我的pg是13版本的,所以下载13版本,下载之后就可以安装了,但是需要注意,插件和数据库安装的同一目录下,我的数据库安装目录是D:\software\PostgreSQL\13,所以插件也要安装在这个目录下面。不然会报错postGIS的使用1、在postgrsql中
2021-12-27 15:16:28 2900
原创 阿里云服务器使用yum安装redis
安装命令yum install redis安装完毕# 查看安装包[root@star ~]# rpm -qa|grep redisredis-6.0.5-1.11.al8.x86_64#查看安装的路径[root@star ~]# rpm -ql redis-6.0.5-1.11.al8.x86_64/etc/logrotate.d/redis/etc/redis-sentinel.conf/etc/redis.conf/etc/systemd/system/redis-sentine
2021-12-23 10:40:34 1063
原创 http和https的区别
http协议(Hyper Text Transfer Protocol,HTTP)超文本传输协议。是一个客户端和服务器端请求和应答的标准(TCP),用于从www服务器传输超文本到本地浏览器的传输协议。是一个简单的请求与响应、无状态的、应用层的协议协议,常基于TCP/IP协议传输数据,是互联网上应用最为广泛的传输协议。http的发展史版本产生时间内容发展现状HTTP/0.91991年不涉及数据包传输,规定客户端和服务器之间通信格式,只能GET请求没有作为正式的标准HT
2021-12-22 17:03:09 395
原创 HTTP请求出现的错误
url中汉字编码今天在http请求中使用汉字,由于get请求中的url(http://127.0.0.1:8081/districtBoundary/江苏省/宿迁市/沭阳县)中包含汉字,出现错误,这种情况的主要原因是url需要转码 province = URLEncoder.encode(province,"utf-8") city = URLEncoder.encode(city,"utf-8") district = URLEncoder.encode(distri
2021-11-22 18:15:12 2843
原创 mysql开启binlog步骤讲解
binlogbinlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志起着至关重要的作用。开启binlog默认情况下mysql是关闭状态off状态,我的已经设置过了是on状态进入mysql,使用下面命令,查看是否开启:show variables like 'log_%';如果没有开启,需要下面的方法进行开启在linux系统下,修改/etc/my.cnf文件#编辑模式进入/etc/my.cnfvi /etc/my.cnf# i开始进行编辑# 在#l
2021-11-19 14:13:41 6249
原创 springboot拦截器和过滤器的区别与使用
拦截器与过滤器的区别spring的拦截器与servlet的filter有相似之处,比如二者都是AOPAOP编程思想的体现,都能实现权限检查、日志记录等,不同的是:适用范围不同:filter是servlet规范规定的,只能用于web程序中;而拦截器既可用于web程序,也可用于application、swing程序中。规范不同:filter是servlet规范定义的,是servlet容器支持的,而拦截器是spring容器中的,是spring框架支持的。使用资源不同:同其他代码块一样,拦截器也是一个sp
2021-11-18 11:01:14 1992
原创 spring security 入门
基本环境搭建1、创建spring boot项目,导入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
2021-11-12 17:58:38 1029
原创 mysql创建用户及授权
前言在开发过程中,mysql账户需要专项使用,某个项目的账户只能访问本项目数据库的权限,不能访问其他库,所以需要给新用户分配权限创建新用户create user 'spring_security'@'localhost' identified by 'springsecurity';这一步可能出错,提示密码的规则不对修改密码规则查看mysql密码的规则show variables like 'validate_password_%';改变密码规则set global validate_
2021-11-11 15:26:58 895
原创 IDEA使用git上传到gitee
前言在开发过程中,我们需要将代码上传至gitee。公司的项目调整优化,我从码云上下载项目,选择开发分支,修改后在本地测试完成,需要将开发分支的代码合并到测试分支。下面主要讲解上传...
2021-11-03 18:32:33 679 1
原创 java提取字符串中的数字,以及地址标准化
需求需要提取字符串中的租金额度,需要将字符串中的数字提取出来,提取出的数字必须是连续数字参考Java 正则表达式,如何使用正则表达式从字符串中提取数字?提取数字要使用java的正则表达式,必须要了解java的三个类Pattern类。pattern对象是一个正则表达式的编译表示,Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。Matcher 类:Matcher 对
2021-10-28 11:21:13 726
原创 mybatis注解批量插入、更新
需求在进行入库时,数据一条条入库时间太慢了,批量入库速度更快批量插入这里使用注解的方法@Insert进行数据插入@Insert("<script> " + "insert into communityinfo (tguid,CityName,District,ResidentialAreaName,ResidentialAreaAlias,School,Description,NearbySchool,SupportFacility,RingRoad,Manag
2021-10-22 14:03:39 1328
原创 java通过反射给类变量赋值
项目需求读取csv文件后,第一行的变量是一个字符串,中间用"╪"隔开,由于文件中变量(列)太多,而且好多变量是不需要的,这时候提取需要的变量就非常麻烦,如果人工去确定变量的位置非常麻烦,自己去定位1,3,13,23,45,头大。于是就想到通过变量明名称(列名称)去,自动匹配,获取定位然后给类赋值就可以了。实现过程读取数据将数据读取到list集合中,list,get(0)就是第一行,代表各列的名称(变量名称),后面的就是数据。ublic class CSVUtils { public sta
2021-10-13 17:10:45 1009
原创 mysql中的基础类型
一、整型类型存储范围(有符号)范围(无符号)用途TINYINT1 Bytes(-128,127)(0,255)小整数值SMALLINT2 Bytes(-32 768,32 767)(0,65 535)大整数值MEDIUMINT3 Bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值INT或INTEGER4 Bytes(-2 147 483 648,2 147 483 647)(0,4 294 9
2021-10-12 15:56:07 84
原创 mysql中int(5)表达的真正含义
前言不知道有没有人和我一样,都有的一种错误的认识,int(5)存储最大5位数的整数,int(10)存储最大10位的整数。今天看了篇文章终于被自己蠢到了。参考文章mysql中int(11)到底代表什么意思?真正含义实际上不管int(5),int(10)都只能存储4个字节,也就是32位的二进制数,int(5)的真正含义是在设置无符号类型是,存储的长度,具体如下:创建一张表CREATE TABLE int_demo ( id INT(11) NOT NULL AUTO_INCREMENT,
2021-10-12 15:38:17 2758 1
原创 AES加密解密算法
AES简介AES的起源和加密过程可以参考这篇博客十分钟读懂AES加密算法简单来说AES是建立在DES加密不能满足破解难度而产生的。由比利时两位非常著名的密码学家Joan Daemen和Vincent Rijmen设计,选取了分组长度为128比特,密钥长度为128比特、192比特和256比特的三个版本。分组密码有五种工作体制:1.电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式
2021-09-29 17:29:05 1572
原创 JPA 多条件复杂查询
使用jpa进行查询时,总是很苦恼多条件复杂查询,一般来说是在repository中生命方法,多个变量之间加And就可以,这样的方法非常麻烦且变量方法名称太长,还有就是不能加排序和limit等复杂限制,下面介绍两种自己总结的方法findAll()方法...
2021-09-29 14:09:21 4487
原创 springboot+jpa 配置多源数据库
前言公司项目的一个接口需要调用不同数据库,可惜不会配置。单个数据源的还挺好弄得,但是多个数据源就需要手动配置,在网上看了好多博客,花了3天时间,出了好多错最后终于弄出来了,现在分享一下。个人建议不要再自己项目上改,容易出错,而且需要按照某个版本的博客代码建立一个小demo,跑通了再适当修改,不然容易错上加错,浪费时间另外这个数据源配置有点死,不是动态配置的,每个数据源需要建一个配置类,有点麻烦配置文件application.propertiesspring.datasource.driver-c
2021-09-28 15:50:38 286
原创 springdata JPA配置
spring.jpa.hibernate.ddl-autocreate ----每次运行该程序,没有表格会新建表格,表内有数据会清空;create-drop ----每次程序结束的时候会清空表update ---- 每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新validate ---- 运行程序会校验数据与数据库的字段类型是否相同,不同会报错。none —禁用 ddl 处理spring.jpa.show-sql=true#输出出sqlspring.jpa.propert
2021-09-28 14:57:25 975
原创 CLIENT_PLUGIN_AUTH is required
springboot启动提示连接mysql报错:java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required这是mysql版本问题,maven导入依赖时没有限定版本号,默认是最新版本,而服务器的mysql是老版本。解决方法限定数据库版本 <dependency> <groupId>mysql</groupId> <artifa
2021-09-28 11:04:28 1408 1
原创 在WSL中访问Windows系统的文件
前言windows中安装的ubuntu子系统,不知道怎么在ubuntu中访问windows的文件访问方法cd /mnt/c/XXX #进入c盘的xxx文件cd /mnt/d/XXX #进入d盘的xxx文件所以,要进入windows的某个盘的文件中,需要先进入ubuntu的/mnt文件夹下。...
2021-09-26 10:33:09 2964
原创 vim(vi)编辑异常退出
情况说明今天使用vim编辑程序的全局变量文件时,不知道怎么操作不当了,导致卡在编辑页面,没办法就关掉页面重新打开一个进行编辑,结果就出现问题了。E325: ATTENTION Found a swap file by the name “.common.properties.swp”Another program may be editing the same file. If this is the case,be careful not to end up with two different
2021-09-26 10:10:45 2173
原创 java中的元注解@Retention@Target@Document@Inherited
java中的元注解java中的元注解(用来标识注解的注解)有4个@Retention:注解的保留位置- @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含- @Retention(RetentionPolicy.CLASS) //默认的保留策略,注解会在class字节码文件中存在,但运行时无法获取- @Retention(RetentionPolicy.RUNTIME) //注解会在class字节码文件中存在,在运行时
2021-09-10 10:06:54 119
原创 放弃SimpleDateFormat使用DateTimeFormatter
前言今天经理让我不要再使用SimpleDateFormat开发,要是使用DateTimeFormatter,开始有点懵,后来告诉我SimpleDateFormat是线程不安全的,DateTimeFormatter是线程安全。看了这篇博客,说是使用SimpleDateFormat导致数据异常,改用DateTimeFormatter解决问题。博客DateTimeFormatter的简单使用使用DateTimeFormatter时对应的时间类型是LocalDate,LocalDateTime,如果使用Da
2021-09-08 14:56:14 229
原创 @Value注解配置文件中的全局变量groovy
应用场景开发对接接口,需要将url等变量放置在配置文件中,方便以后的维护。基于groovy语言的gradle项目,使用springboot框架配置文件放在application.properties中#发研院api接口auction_url=http://127.0.0.1/qysstest/qyss/fapai/queryMessage#AES算法AES_ALGORITHMSTR=AES/ECB/PKCS5Padding#AES密钥AES_KEY=FYNNHAk#ticketHEAD_
2021-09-08 13:59:15 585
原创 springboot日志配置
默认日志logback:默认情况下(什么都不需要配置),springboot使用Logback来记录日志,INFO级别输出到控制台。在运行应用程序或者测试示例时,就可以看到这些日志。从图中可以看到日志内容如下:时间:精确到毫秒日志级别:FATAL>ERROR>WARN>INFO>DEBUF,等于设定级别的日志将不显示进程id:紫色数字分隔符:----标识实际日志的开始线程名:方括号里面(可能会截断控制台输出)Logger名:通常使用源代码的类名日志内容程序中
2021-09-06 17:57:19 273
原创 SpringBoot Controller接收参数的几种常用方式
一、请求路径参数请求路径参数,顾名思义参数再请求路径的后面:http://127.0.0.1:8080/account/findJudicialAuctionDemo?province=山东省&city=连云港市,一般为get请求,不建议使用,容易泄露信息@RequestMapping(value = '/findJudicialAuctionDemo',method = RequestMethod.GET) String findJudicialAuctionDemo(@Request
2021-09-06 16:52:06 386
原创 win10安装postgrespl13遇到的问题及解决办法
win10安装postgrespl13遇到弹窗警告,经过网上查询终于找到解决办法,大自然的搬运工来了。一、安装过程安装路径默认选择语言我选择中文简体二、出现问题1、这里就出现问题了,数据库集群初始化失败。不需要管点击“OK”,“next”,最后finish。三、问题发现D:\software\PostgreSQL\13\data目录是空的服务里也没有postgreSQL服务。四、解决方案1 初始化数据库集群。管理员身份运行“命令提示符”,进入postgresql的
2021-08-28 21:02:02 745 5
原创 子系统运行grails项目
1、环境要求WSL,适用于Linux的Windows子系统(winndow中安装Ubuntu)Ubuntu安装jdkUbuntu安装grails2、安装jdk,grailsUbuntu的安装可以百度一下,非常简单在Windows商店中搜索“Ubuntu”,点击安装就可以了。本文安装jdk,grails是通过sdkman安装的2.1安装安装sdkman和java jdk#sdkman安装 root用户,默认安装到/root/.sdkman/bincurl -s "https://get
2021-08-12 11:22:12 278
原创 JAVA实现GET和POST请求
一、有关GET和POST请求的注释1.1 有关 GET 请求的其他一些注释:GET 请求可被缓存GET 请求保留在浏览器历史记录中GET 请求可被收藏为书签GET 请求不应在处理敏感数据时使用GET 请求有长度限制GET 请求只应当用于取回数据(不修改)示例:百度api一般是get请求,除了请求地址,还有参数,?分割地址和参数:https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&
2021-08-05 16:48:18 956
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人