工作
文章平均质量分 58
QQ:3083155908
只有更好,没有最好
展开
-
SpringBoot查询指定范围内的坐标点
添加坐标点: geoadd region 117.130313 31.84504 "shuxihu" 117.143635 31.838962 "chanyeyuan" 117.143635 31.838962 "shiyanxiaoxue" 117.123423 31.842912 "aolai" 117.207504 31.879882 "zhiwuyuan"springframework中已经加入了对redis geo的支持,相关的类都在org.springframework.data.geo包下。原创 2023-11-29 15:42:29 · 790 阅读 · 0 评论 -
SpringBoot实现配置文件的加密和解密
如果java.security文件中没有配置crypto.policy,那么会像jdk之前版本一样,加载jre/lib/security目录下的local_policy.jar, US_export_policy.jar,并使用其代表的策略;如果java.security文件中没有配置crypto.policy并且jre/lib/security目录下没有local_policy.jar, US_export_policy.jar,那么会启用默认不限制密钥长度机制。1.新建一个springBoot项目。原创 2023-01-31 17:34:36 · 1223 阅读 · 0 评论 -
Redis处理client连接数过多,大量空闲链接无法释放
oll: 输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)qbuf-free: 查询缓冲区剩余空间的长度(字节为单位, 0 表示没有剩余空间)qbuf: 查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)obl: 输出缓冲区的长度(字节为单位, 0 表示没有分配输出缓冲区)id: 唯一的64位的客户端ID(Redis 2.8.12加入)。events: 文件描述符事件 cmd: 最近一次执行的命令。age: 以秒计算的已连接时长。原创 2022-09-08 10:31:55 · 722 阅读 · 0 评论 -
web.xml配置全局过滤器防止SQL注入
Statement.executeUpdate(sql),没有使用PreparedStatement.executeUpdate(sql)生产有个老项目使用的是jsp+servlet写的,对安全方面几乎没有,对执行的sql使用的是。2)写sql的时候用PreparedStatement。1)配置全局过滤器,通过关键字匹配来拦截恶意请求。1.在web.xml中加入以下配置。本次使用的是配置全局过滤器。浏览器上直接访问项目。原创 2022-08-23 15:35:27 · 1030 阅读 · 0 评论 -
微服务项目部署-POS收银系统
linux系统2台,或者1台足够大的内存,因为安装工具和启动服务需要占用很大内存,大约8G。/opt/octv/product/pos/octv-pos-gateway下。打包使用IDEA->maven->Lifecycle->package。切换到部署目录,运行命令shstartpup.sh。将打包后的dist里面的文件上传到nginx指定目录下。打包后的路径是根目录的target目录。7.Minio安装(根据实际情况安装)5.RockerMQ安装。二、应用系统安装与配置。...原创 2022-07-21 17:25:33 · 464 阅读 · 0 评论 -
Linux上安装Sentinel限流、降级组件
默认用户名密码均为sentinel,密码不要直接复制。新建application.yml文件。2.启动Sentinel控制台。若是云服务器开放端口9070。若是虚拟机开启端口9070。新建shutdown.sh。新建startup.sh。创建config目录。原创 2022-07-19 10:25:34 · 208 阅读 · 0 评论 -
Linux上安装minio
在bin目录创建启动脚本文件startup.sh。若是云服务器需要配置安全组允许9000端口。命令启动缺点,窗口关闭,服务也随之关闭。bin启动脚本及二进制文件目录;账号admin/admin123。若是虚拟机需要开启端口9000。赋予minio文件执行文件权限。若出现未识别wget命令。data数据存储目录;logs日志目录;...原创 2022-07-19 10:19:00 · 475 阅读 · 0 评论 -
Linux上安装rocketmq
rocketmq-console是RocketMQ的一个图形化管理控制台工具,提供Broker集群状态查看,Topic管理,Producer、Consumer状态展示,消息查询等常用功能,这个功能在安装好RocketMQ后需要额外单独安装、运行。将rocketmq-all-4.9.2-bin-release.zip上传到/opt/octv/product/pos/rocketmq目录下,并执行解压命令。下载安装包,目前最新稳定版本rocketmq-all-4.9.2-bin-release.zip。...原创 2022-07-14 22:11:43 · 1861 阅读 · 0 评论 -
Linux上安装Nacos
可以从Nacos官网Releases · alibaba/nacos · GitHub下载最新稳定版本:nacos-server-2.0.3.tar.gz# cd /opt/octv/product/pos# mkdir nacos# cd nacos# wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz将Nacos安装包nacos-server-2.0.3.tar.gz上传到服务器/原创 2022-07-12 16:23:16 · 693 阅读 · 0 评论 -
SpringBoot静态资源的配置
在SpringBoot项目中,默认有5个位置可以用来存放静态资源,分别为:1、classpath:/META-INF/resources/2、classpath:/resources/3、classpath:/static/4、classpath:/public/5、/源码解析 WebMvcAutoConfigurationthis.mvcProperties.getStaticPathPattern()对应 / this.resourceProperties.getStaticLocat原创 2022-07-07 10:12:56 · 602 阅读 · 0 评论 -
若依配置多数据源
1.在application.yml配置新增的数据库octmes: # 从数据源开关/默认关闭 enabled: true url: jdbc:mysql://localhost:3306/octmes?useUnicode=true&characterEncoding=UTF-8 username: root password: root原创 2022-06-17 14:29:42 · 622 阅读 · 0 评论 -
java对图片按照指定尺寸压缩
1.pom.xml引入依赖<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency>2.接口/** * 上传人员头像原创 2022-05-27 09:55:31 · 396 阅读 · 0 评论 -
lombok用法
一、lombok介绍官方定义:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate原创 2022-05-11 17:36:41 · 1415 阅读 · 0 评论 -
java枚举类通过code获取枚举类对象
原创 2022-04-20 15:41:02 · 733 阅读 · 0 评论 -
mysql查询不同用户的最新一条记录
方法一:SELECT * from (SELECT * from oct_hr_user_clock ORDER BY clock_time desc limit 10000) v GROUP BY v.user_id注意:limit必须要加方法二:SELECT * from oct_hr_user_clock ajoin(SELECT max(clock_time) as clock_time,user_id from oct_hr_user_clock GROUP BY...原创 2022-01-18 10:01:16 · 1093 阅读 · 1 评论 -
消息队列处理微信支付超时订单
1.配置交换机、队列RabbitMqConfig/** * * 延时队列交换机 * * 注意这里的交换机类型:CustomExchange * * * * @return * */@Beanpublic CustomExchange delayExchange() { Map<String, Object> args = new HashMap<>(); args.put("x-del...原创 2020-11-09 15:06:17 · 1266 阅读 · 1 评论 -
RabbitMQ环境搭建
1.下载并安装ERLANG1.1安装完成后配置环境变量2.下载并安装rabbitMQ3.进入rabbitMQ的安装目录sbin,在cmd用管理员身份进入,运行命令rabbitmq-plugins.bat enable rabbitmq_management4.运行成功后,在cmd运行以下命令:5.本地访问:http://localhost:15672/#/ 默认用户名和密码:guest/guest注意端口15672是MQserver的web端口,接口调用推送消息..原创 2020-09-21 16:11:22 · 300 阅读 · 0 评论 -
synchronized 使用场景(1)
这个bug是由于进入页面时候加载多个接口线程不同步导致的,使用synchronized关键字来解决/** * 会员数据-统计列表 * * @param programToken * @param shopId * @param staffId * @param queryShopId * @param startDate * @param endDate * @return */public ApiResult findUserCountList(String prog..原创 2020-09-14 17:43:32 · 42 阅读 · 0 评论 -
项目开发中使用IDEA创建多个maven子模块
目标:在IDEA中创建多个Maven子模块1.首先在本地新建一个空的文件夹,命名为micro-xiao-service,使用IDEA打开这个文件目录2.在该文件夹鼠标右键,新建Model3.点击下一步点击下一步,根据自己的需求选择相应的依赖包点击下一步,点击完成,一个子模块创建完成其他子模块创建与此一样,参照即可<groupId> 就是包名称<artifactId> 就是项目名称<version&...原创 2020-08-28 23:54:15 · 649 阅读 · 0 评论 -
Java Optional类源码解析和用法
个人网站:http://xiaocaoshare.com/要求:jdk1.8以上Optional类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象常用方法:1.of方法为非null的值创建一个Optional,如果值为空则抛出一个空指针异常public static <T> Optional<T> of(T value) { return new Optional<>(v原创 2020-08-05 15:19:12 · 391 阅读 · 0 评论 -
Mysql左连接分页查询
个人网站:http://xiaocaoshare.com/1.常见错误select * from user t1 left join user_tages t2 on t2.userId=t1.id limit 0,10这种先连接查询在分页的是错误的,正常的是先分页,再连接查询改进:(使用子查询)<select id="queryCouponByToken" resultMap="BaseCouponResponseResultMap"> SELECT t1..原创 2020-07-25 13:51:07 · 1409 阅读 · 0 评论 -
Map json数据解析
个人学习资源免费分享网站:http://xiaocaoshare.com/public class App { public static void main(String[] args) { Map<String, List<Student>> map = new HashMap<String, List<Student>>(); List<Student> list1 = new ArrayList&...原创 2020-06-24 14:30:11 · 917 阅读 · 0 评论 -
java项目中使用重定向返回字符串
问题:并没有跳转到对应的请求,原因是多加了个 @ResponseBody原创 2020-04-10 21:30:17 · 1216 阅读 · 1 评论 -
java项目测试支付异步通知接口
1、需求说明在进行支付的时候,总会有一个异步通知接口,他才是判断支付成功的重要依据。但是这个接口是第三方平台主动调用我们的接口,不能调试,只能通过打印日志来出来。但是有些公司接口文档说得不是很清楚,所以不知道他们返回的数据格式。@RequestMapping("notifyUrl") @SuppressWarnings({ "rawtypes" }) public void...原创 2020-04-09 15:44:53 · 827 阅读 · 0 评论 -
Java版开发原生App支付
微信开发者平台网址:https://open.weixin.qq.com/微信支付开发前要先去开发者平台创建移动应用,获取APPID和秘钥,然后申请获取支付接口能力(个人无法申请,必须企业才能申请),申请商户号业务流程:后台主要做的接口:1.调用微信的统一下单接口,获取预支付订单支付信息和签名2.支付成功回调接口的处理/** * 微信支付接口(调用统一下单接口...原创 2020-04-07 11:07:14 · 1544 阅读 · 0 评论 -
BootStrap在一行如何展示多行单据
1.效果图:2.{ data :'expenditureBillNo', render : function(data, type, row) { var str = ''; var sary=[]; if (data) { ...原创 2019-11-01 16:26:18 · 1706 阅读 · 0 评论 -
通过hibernate 查询出来的数据默认为持久状态,也就是说:你在后头作出的任何操作都会被hibernate自动同步更新到数据库
从web系统中查询附件信息,并把合同号绑定到附件中,会自动保存,真是奇诡原创 2019-05-01 11:23:03 · 894 阅读 · 0 评论 -
Jquery获取选中行的某个数据
1.页面结构<table class="table table-border table-bordered table-bg table-hover table-sort" id="table-list"> <thead> <tr class="text-c"> ..原创 2018-10-30 11:07:22 · 5646 阅读 · 0 评论 -
SpringDataJpa根据多个id物品清单id查询房源编号
需求:根据多个物品清单id去重查询房源编号sql语句:select DISTINCT f.house_bill_no from financial_style_productitem_detailed f where f.id in (117,119)/** * 根据物品id查询房源号 * * @param houseBillBo * @return ...原创 2019-05-01 11:24:15 · 3501 阅读 · 0 评论 -
java中常见类型转换
1.String类型转换为Long2.字符串转List<Long>3.Map<String,Object>转字符串使用的是com.google.gson.Gson;原创 2019-05-01 11:25:34 · 254 阅读 · 0 评论 -
实际开发中,有时没有异常发生,但是执行结果不是我们期望的情况,需要手动让事务回滚
需求:开支单保存原来的代码:修改后的代码:Spring控制事务下手动回滚事务的方法:在实际开发中,有时并没有异常发生,但是由于事务结果未满足具体业务需求,所以我们不得不手动回滚事务!有如下两种方法:①手动抛出异常(如果你没有配置一般异常事务回滚,请抛出运行时异常)if(){}else{ throw new...原创 2019-05-01 11:25:05 · 709 阅读 · 0 评论 -
springDataJpa实现普通模糊查询
1.需求2.页面代码<input type="text" id="id_keywords" class="form-control" placeholder="请输入区域、小区名"> <div class="col-md-2 col-sm-2 col-xs-2 pt0"> <span class=原创 2018-08-20 09:37:48 · 2122 阅读 · 0 评论 -
java实现将pdf变成一张图片在页面显示
1.需求:由于pdf传输到前台显示不了,因此要在后台将pdf转成图片,然后输出到页面上使用的是pdfbox2.在pom.xml中添加如下依赖:<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox<...原创 2019-05-01 11:22:20 · 2800 阅读 · 0 评论 -
使用HttpClient实现跨服务图片下载
需求:由于web系统存放图片的文件夹路径和erp系统存放图片的文件夹路径不一样所以web系统文件上传的文件要拷贝到erp对应的文件夹思路:在erp中访问图片接口的时候,如果图片不存在,则调web系统的访问图片接口,把图片保存到erp指定的文件夹ERP代码:@RequestMapping(value = { "/viewImg2/{fileName:.+}" }) p...原创 2019-05-01 11:23:27 · 645 阅读 · 0 评论 -
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1024)
需求:在更改头像的时候报这个错误解决方案:show VARIABLES like '%max_allowed_packet%';在mysql安装文件目录找到my.conf重启mysql服务查看是否修改成功:...原创 2019-07-04 15:42:00 · 478 阅读 · 0 评论 -
SpringBoot如何处理java内存溢出
在上线的项目中,本地测试没有问题,部署上去就会出现java 内存溢出java.lang.OutOfMemoryError: Java heap space解决方案:-Xms512m -Xmx512m问题得到解决原创 2019-07-03 10:45:55 · 7199 阅读 · 1 评论 -
SpringDataJpA或查询
1.需求进入投诉建议模块的人员列表时候,可以查到客服和售后管家类型的数据private Specification<Employee> whereClause(Employee entity) { return new Specification<Employee>() { @Override public Pr...原创 2019-06-12 11:56:45 · 773 阅读 · 0 评论 -
eclipse中安装使用Gradle构建工具
1.下载二进制文件并解压如下:下载网址:https://gradle.org/releases/2.配置gradle环境变量3.验证是否安装成功4.在eclipse中下载gradle插件并配置5.重启eclipse,新建一个gradle项目,选择gradle即可...原创 2019-06-01 16:16:50 · 2124 阅读 · 0 评论 -
SpringDataJpA复杂查询实现自定义排序
需求:列表页面实现按合同状态自定义排序private Specification<TblContractPre> whereClause(final TblContractPre entity) { return new Specification<TblContractPre>() { @Override public Predi...原创 2019-05-11 14:40:31 · 3116 阅读 · 1 评论 -
java获取pdf文件的总页数
1.在pom.xml加入依赖<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.11</version>原创 2019-01-04 10:29:00 · 7466 阅读 · 0 评论