工作中的开发思路
如漩涡
普通程序员
展开
-
Java 根据占位符名称替换值
Java 根据占位符名称替换值前言占位符现在应该说是比较流行的动态赋值,方法有String.format(),通过%s或其他来赋值;或者MessageFormat.format(),通过{0}来赋值,参数名都不可定义项目中有个需求,根据一串带着参数名占位符的url,替换掉对应参数名的值,由此有了以下的工具类。代码import java.util.Map;import java.util...原创 2020-03-25 13:48:38 · 2662 阅读 · 0 评论 -
Java jar打包成exe应用程序(超详细)
Java jar打包成exe应用程序,可在无JDK/JRE环境下运行前言近期做了一个前后端合并的spring boot项目,但是要求达成exe文件,提供给不懂电脑的小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我的步骤走,能少踩坑。准备准备工作:一个jar包,没有bug能正常启动的jar包exe4j,一个将jar转换成exe的工具,链接:https:...原创 2020-02-04 01:07:18 · 62403 阅读 · 55 评论 -
Java 取两个数之间的随机数
Java 取两个数之间的随机数 private static int getRandom(int x, int y) { int num = -1; //说明:两个数在合法范围内,并不限制输入的数哪个更大一些 if (x < 0 || y < 0) { return num; } else ...原创 2020-01-10 10:24:50 · 6088 阅读 · 1 评论 -
Java 某个起始时间,固定的累加天数,计算周期
Java 某个起始时间,固定的一个天数相加,计算周期每次加过后的周期前言项目中有这么一个业务场景,数据库中某张表有个起始时间,和一个累加时间,比如2020-01-07,往后每次加3天为一个周期,到2020-01-10是周期1,到2020-01-13是周期2,以此类推。通过Java可以直接计算出周期,然后进行数据库操作。代码 /** * 获取某个日期和当前时间差几天 ...原创 2020-01-07 14:11:56 · 1969 阅读 · 0 评论 -
Spring Boot 在request里解密参数返回
Spring Boot 在request里解密返回参数到控制器前言有个业务需求,一个请求来源web,一个请求来源APP,web需求验证签名,APP的参数是经过加密,所以出现了两个Controller,除了解密获取参数方式不一样,其他内容一模一样,这样不太合理,所以我决定重构。思路:既然只是解密不一样,获取到的参数是一样的,那可以写一个过滤器,在里面就把参数解密好,然后返回Spring Bo...原创 2019-11-29 00:09:48 · 1299 阅读 · 0 评论 -
Java 实现简单的签到领金币功能
Java实现简单的签到领金币功能现在很多APP上都会有签到的功能,签到领金币或者领积分等等。最近也正好遇到了一个这样的业务,并且规则是连续签到每天的金币不一样,要是断了,再签到从第一天金币数开始...原创 2019-11-15 23:53:49 · 2988 阅读 · 0 评论 -
JS 获取Application中Local Strorage域的值
JS 获取Application中Local Strorage域的值 在浏览器(chrome为例)里按下F12打开控制台,会看见有一个菜单栏名为Application,挂在下面的二级菜单有个Local Strorage,可以理解成一个本地存储空间,将有些东西存储起来,解决了cookie存储空间不足的问题,这个在不同的浏览器中localStorage会有所不同。阐述今天要说的,...原创 2018-07-30 22:30:32 · 7849 阅读 · 0 评论 -
富文本编辑器跨域解决
前后端分离ckeditor跨域问题处理 这个跨域问题很常见,特别是前后端分离的情况,IP地址不同导致了页面跨域,具体原因大多是因为前端ifame问题分析ckeditor插件里config.js需要配置config.filebrowserImageUploadUrl=&amp;quot;http://127.0.0.1:8085/watersource/drainageBasin/v1/uplo...原创 2018-08-22 08:40:00 · 2137 阅读 · 2 评论 -
Java 发送短信验证码
Java 发送短信验证码给手机发送短信验证码其实很简单,就是调用一下第三方的短信API接口,填写参数,发送请求,第三方平台会将信息发送给对方手机当中介绍我个人测试所使用的第三方API是“秒嘀”,理由是因为新用户注册送十元,不用自己充值,做测试十元够了,哈哈哈官网:http://www.miaodiyun.com注册登录之后,可以查看自己的token和sid,便于传参,另外点击左...原创 2018-08-27 17:10:23 · 4982 阅读 · 4 评论 -
Java word转换pdf格式
Java 基于aspose将word转换pdf格式网上有很多将word文档转换成pdf格式的例子,如windows平台安装插件,或者linux服务器上安装插件,或者JDK中加入dll等方式,我个人感觉局限性比较大。如何说?是不是我在另一个电脑上操作转换,我就必须安装一个什么插件?是不是我的JDK也必须安装插件,换另一台服务器是不是也必须要换?太复杂了,其实有一个JAR包,只要引入,几句代码就...原创 2018-10-18 21:58:29 · 700 阅读 · 0 评论 -
JDBC模拟mybatis对象映射赋值
Java 模拟mybatis映射实体类使用mybatis也有一段时间了,它的强大也是众所周知的,但是有一定的局限性,比如要不同数据库要多数据库源配置,本人就试想用JDBC的话,能否实现mybatis一样的效果答案是能的,利用Java的反射功能...原创 2018-12-13 21:22:28 · 864 阅读 · 0 评论 -
Spring Boot定时发送短信
Spring Boot定时发送短信的两种方式不少项目中估计都有遇到定时发送这个梗,我也遇到了,页面中下拉框选项有立即发送以及定时发送,立即发送就不用说了,定时发送可以讲一下,定时的方式有很多种,Java自带的定时器,Spring的定时器,大致讲一下我做的时候思路1. Java自带的定时器java.util包里的Timer,它也可以实现定时任务但是功能过于单一所有使用很少,而还有一个类Sche...原创 2019-01-16 22:13:17 · 6263 阅读 · 0 评论 -
Linux 自动关闭某个进程脚本
Linux 自动关闭某个进程脚本前言怕是不少后台开发者经常会有这么两个命令ps -ef | grep 某某进程名kill -9 某某进程名比如,我是一个Java开发者,时常做好一个模块,通过mvn clean package -DskipTests打jar包后,要更新到服务器上测试,总要先经过这两个命令,再删除旧的jar包懒人模式后面想起要不做一个脚本吧,让服务器自己找进程名并且关...原创 2019-03-10 02:48:45 · 4580 阅读 · 0 评论 -
SpringBoot 优雅的处理异常
SpringBoot 统一异常处理像这种统一异常的文章博客有许多,但是每个人使用都有自己的心得,我来总结一下自己使用的心得统一异常,顾名思义,就是统一管理项目中会方法的异常,然后进行一个处理,Spring发生错误后,底层会去请求一个/error的地址,抛出对应的异常到页面上,对客户或者开发来说都不是特别的友好使用统一异常处理的话,可以返回自定义的异常数据,阅读性提高,优雅的处理异常使用异常...原创 2019-03-26 17:23:48 · 1500 阅读 · 1 评论 -
MySql 操作时间
MySql 操作时间查询:日、周、月、季度、年这篇博客的记录,主要是在这次的项目中运用到了很多时间函数,才发现自己对mysql的时间函数记忆不够,在统计中,很多地方都是用到时间进行统计,而灵活运用sql函数,可以事半功倍。演示找出当前今天的数据:SELECT * FROM table WHERE DATE(时间字段) = CURDATE();DATE(),这个函数用于将时间格式(年...原创 2019-05-10 20:07:34 · 639 阅读 · 0 评论 -
JS 多图片绑定点击事件
JS 多张图片存在一个页面时,公用一个class,实现显示出不同图片效果本篇文章主要记录一下做项目时,对循环出来的图片进行点击遇到的难题。看一下HTML <div class="layui-form-item"> <div class="layui-inline"> <...原创 2019-05-27 16:58:54 · 5226 阅读 · 0 评论 -
mybatis复杂关联XML心得文章
个人感觉,关联查询就类似sql中的合并函数UNION ALL,有些sql要写很复杂的关联查询的时候,可以用mybatis的关联查询来做用项目中的例子来说明: <resultMap id="BaseResultMap" type="com.uhope.data.export.domain.EdTemplateField"> <!-- WARNI...原创 2018-07-22 20:29:36 · 495 阅读 · 0 评论 -
微服务不能多表联查时候用代码实现联查思想
前言之前文章中提到,公司项目改造,使用微服务,而微服务就是代表,各自的模块有独立的数据库分开来的,需要其他功能的时候就调用服务,那就表示不能像以前一样多表查询了,这个时候怎么办???不能多表查询,只能调用服务来实现,那没办法了,想出了一个临时方案,那就是在代码中实现多表查询多表查询其实也是关联,代码中也只要想办法来关联起来就行,下面用项目实例来举个例子需求有一个模块,其实就是查...原创 2018-07-22 19:48:11 · 14140 阅读 · 7 评论 -
JS 递归时候犯得一个错误
JS 递归时候犯得一个错误 有三层的树状JSON数据,想要用递归的方式取出第三层的数据,很简单的一个实现,函数调函数,但是在判断的时候做了一个错误,那就是递归中的if判断先看数据var data = '[\n' + ' \n' + ' {\n' + ' "name": "部件管理",\n' ...原创 2018-08-03 22:43:15 · 1172 阅读 · 0 评论 -
生成流域/水系的编码
要求:从26位英文字母中筛选出一位流域编码/三位水系编码,用户选择所属流域后生成思路:查询出所有水系,根据表中流域编码Code进行排查,查出归属某个流域下的所有水系,找出最后一个水系编码进行新增做法:查询出所有水系List list = mdWaterSystemService.findAll();根据表中流域编码进行排查,查出归属某个流域下的所原创 2018-01-25 11:12:36 · 1017 阅读 · 0 评论 -
前端表单上下移动接口实现
要求:项目中遇到前端页面读取完数据后,需要对排序进行上下移动思路:让前端传入两个参数,一个是状态,0前进,1后退,再把当前的sort值发送到后台,后台根据当前的状态值,判断前进还是后退;根据传入的sort去查找当前这条记录,对sort进行+1或者-1的更新操作,再把数据通过 ORDER BY 函数进行排序发送给前端页面实现: 据传入的sort去查找当前这条记录,对s原创 2018-01-25 11:13:21 · 1609 阅读 · 0 评论 -
Java Excel导入导出
项目要求,把数据库中的数据进行导入导出成Excel文档,利用Java POI框架来进行操作导入POI的依赖包:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17&...原创 2019-04-28 11:46:49 · 475 阅读 · 0 评论 -
后台数据同步思路
项目中有一个需求,需要与民政部的数据实时同步。思路:民政部官网的数据不会直接告诉我们,需要我们去官网查看,每个月民政部会更新两条href链接,是县级一下或者县级以上的两条数据,人工手动定期拷贝略显的low了,使用爬虫来获取网页数据,再将数据经过筛选存入数据库,开启一起定时任务,定时获取网页中最新的两条数据;实现:所需要的数据,民政部网址是 http://www.mca.gov.cn/article...原创 2018-02-15 17:05:25 · 4763 阅读 · 0 评论 -
mybatis分级点击展示树结构
在WEB项目中,一二三级树形数据是很常见的事情,各种PID关系多个表等等,可以在每个XML中写个SQL,根据PID查询出数据,在Java代码中循环构造树,可以参考我之前的文章,但那都是数据量小的情况,表中加个索引,就非常快了。 那一旦数据量大起来怎么办?比如十万表数据,用循环构造树的话,那得循环多少遍,产生多少内存多少对象,访问多少次数据库,而且前端展示效果极差,数据太大循环多次查询...原创 2018-04-02 10:02:27 · 1002 阅读 · 0 评论 -
关于List中addAll()方法的错误纠正
起因:在项目中构造树形关系的时候,一级下面挂两个二级,比如说浙江省下面挂着归属浙江省的市,但还要挂一个浙江省所在的人员,人员和市就同样是二级关系,项目里有一个TreeNode类,专门用来构建树的返回结果,TreeNode有个setChild用于加入下一级的List思路:先查出所有一级信息,根据这个一级的size进行循环,在这个循环内做查询,查和一级有关的二级信息,做两次,一次查人员,一次查市区,用...原创 2018-03-29 16:06:56 · 5225 阅读 · 0 评论 -
多表分级点击查询
上次介绍了分级点击查询的文章,是在SQL中将两个查询结果集合在了一块返回给前端,这次说一下多表的情况下什么叫多表的情况下?拿以往的文章,流域水系树的结构来说,要根据上一级的编码来查下一级,就是pid关系。上次是利用循环递归的方式,查询出全部流域,循环流域,在循环中做查询水系的方式,水系获取流域的编码(pid)来找出所属水系关系但是这样啊,数据量大的时候,那这递归要很久了,前端等待的时候太长...原创 2018-05-01 11:09:44 · 342 阅读 · 0 评论 -
项目中运用责任链创建校验器
前言 近期在做一个数据导入项目,有一个模版选择,模版中可以选择对导入的字段进行效验,例如非空,长度,格式,类型等,如若放在一个类中的话,大量的臃肿代码免不了,例如“if”这样的,那就运用责任链模式,各做各的判断。看到这篇文章不明白责任链的同学们去翻我的上篇文章。思路用责任链设计模式来构造这个项目,每个判断做成一个校验器,将每个校验器做成链子,一个接一个的做。库中有五个校验器,...原创 2018-05-02 20:08:56 · 2141 阅读 · 0 评论 -
mybatis <foreach>标签动态增删改查
mybatis 《foreach》有的时候在项目中需要查询某个列表时,可能会在代码中进行嵌套循环再取值,其实mybatis提供了这么一个标签,可以在SQL中进行循环(是不是很酸爽)先来了解一下foreach这个标签有哪些元素:item 表示集合中每一个元素进行迭代时的别名index 指定一个名字,用于表示在迭代过程中,每次迭代到的位置open 表示该语句以什么开始sepa...原创 2018-05-09 15:55:30 · 3595 阅读 · 0 评论 -
前端传入JSON数组转换对象存入数据库
前言 前端有一个页面,一条数据对应一个后台对象,多条数据就是对应多个对象,用的是JSON数组格式传过来到后台,我刚开始准备用List的方式接收,但是报错,说不支持,不知道为什么,多图片上传的时候也是这样可以的,既然不支持,那项目还是要继续,用FastJson来转换操作步骤1. 我是SpringBoot项目,在pom.xml中加入相关的依赖 <d...原创 2018-04-28 17:06:16 · 9201 阅读 · 0 评论 -
多表一个XML即可构建树
上一回写过一次构建树的方法,我提到过代码复用性太高了,因为六张表,差不多的SQL语句,重复调用,代码也不好看,而且new了很多个TreeNode对象,臃肿,后来想到了在Mybatis XML映射中做修改,将表名和字段名都让自己来赋值,试了试,没想到这样的操作还真的有。XML:id="findTree" resultType="com.uhope.uip.item.core.TreeNo原创 2018-01-31 17:00:21 · 337 阅读 · 0 评论