- 博客(21)
- 收藏
- 关注
原创 处理少量txt文本数据的java小程序
order_file.txt是从第三方系统发送过来的订单文件,假设该文件存放在D盘根目录下,写一个Java小程序来读取并解析这个文件。字段说明:currencyCode 币种代码,如:156-人民币txnAmt 交易金额accNo 银行卡号,卡号的前6位叫做卡BINbizCode 业务代码解析输出:1、每种币种的交易总金额2、文件中出现了哪些不同的卡BIN3、每种业务代码出现次数排序,从高到低。解析结果直接打印输出即可。...
2021-12-21 15:48:08
113
原创 一键清除maven仓库中下载失败的jar包
1、删除repository库目录下所有后缀名是.lastUpdated的文件2、进入maven本地仓库地址:CMD进入windows的路径(或在仓库目录的地址栏直接输入CMD,回车自动打开)3、执行命令for /r %i in (*.lastUpdated) do del %i4 然后重新导入maven依赖...
2021-09-07 11:30:26
840
原创 XSSF模板导出excel和多数据源查询以及sql查询速度优化
前两天接到任务,要统计数据后然后导出excel,对方给了模板,按照模板格式要求导出指定数据而且整个库数据比较多,达到100多万数据,还得涉及到数据库查询的优化,就记录一下处理过程1 统计数据 先查询数据,因为要从两个库拿数据,所以用mybatisplus里的@DS注解,在service层使用,直接查外部库;并且表名不确定,要动态拼接,所以准备在代码里拼接sql;预先定义sql各种查询接口,查询一般用List<Map>封装起来,在这里接收数据时,出现了bug,当传递参数拼...
2021-08-24 13:48:15
353
原创 screw集成springboot导出数据库文档
如图,这是导出后的mysql数据库结构文档,排版整齐,数据完整;目前支持html,word,和md格式,可自定义配置枚举;下面来说下构建数据库结构文档一键导出功能1.引入pom依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30<...
2021-07-23 13:59:18
296
原创 MySQL server has gone away问题的解决
导入sql语句时,在地图表部分数据较多,执行过程中出现“MySQL server has gone away” 数据导入失败;解决办法:打开cmd窗口,登录mysql账号,输入下面命令;官方解释是适当增大 max_allowed_packet 参数可以使client端到server端传递大数据时,系统能够分配更多的扩展内存来处理。图中是把扩展内存调到了 256M=1024x1024x256注意:使用set global命令修改 max_allowed_packet 的值,重启mysql后会
2021-06-11 11:33:27
411
2
转载 SQL语句性能优化
SQL语句性能优化1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的L
2021-05-10 11:08:52
117
原创 将Json数组转为树形结构【Java】
直接放工具类:public class TreeMenuUtil {/**** @param arr 需要转化为属性结构的arr* @param id 数据唯一标示* @param pid 父id唯一标识键* @param child 子节点键* @return*/public static JSONArray listToTree(JSONArray arr, String id, String pid, String child){ JSONArray r=new JSON
2021-03-25 15:58:16
1635
原创 springboot项目支持多数据库,由DataBaseID在xml文件动态切换sql
最近开发的项目又接到任务,原先数据库用的是postgres,现在要同时兼容oracle。虽然大部分的sql语句通用,但是还有许多语法存在差异,所以我们可以通过mybatis自身提供的databaseIdProvider解决这个问题。pom文件和yml文件的配置略过******************下面开始把databaseIdProvider注册到spring容器:@Bean public DatabaseIdProvider databaseIdProvider() {
2021-02-19 10:52:03
1317
4
原创 windows安装nssm服务
nssm常用命令:nssm install servername //创建servername服务nssm start servername //启动服务nssm stop servername //暂停服务nssm restart servername //重新启动服务nssm remove servername //删除创建的servername服务1.下载NSSM .2.根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹。3.cmd定位至nssm.exe所在
2021-02-18 10:06:29
4973
原创 ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
报这个错,说明是oracle的问题网上搜了好多方法,有的说要在oracle的配置文件listener.ora 或者 tnsnames.ora 改配置,有的则说项目少了ojdbc驱动需要安装jar包,方法都试过了,无一见效!然后在本地连接oracle数据库【plsql】,直接连不上并报错;我本机已经安装过Oracle了,项目连的是自己的库,于是去看打开任务管理器看服务,发现***OracleServiceOrcl***根本就没启动,那自然就没法运行了,果断右键启动该服务,成功!网上那些乱七八糟..
2021-02-01 19:30:36
633
原创 部署springboot项目到公网服务器 出现session ip change too many的解决办法
最近将项目放到公网,在登录页面点击几次后,出现了大量的[ERROR] session ip change too many 的error日志,页面也像失效了一样,没有反应;仔细看是阿里巴巴的druid组件报的错,于是找到WebSessionStat类,原来是druid监控session时,记录访问IP提示的。public void addRemoteAddress(String ip) { if (remoteAddresses == null) { this.remoteA
2021-01-19 20:39:08
1546
原创 pgsql中sql关于时间的处理
pgsql和其他数据库函数有不一致的地方,以实际需求为准now()-Interval ' 1 day 查询过去1天到现在 floor(date_part('time',sj)/?)*? 此函数用来处理时间分段,分钟填minute,小时填 --截取数据库时间年月日SELECT EXTRACT( YEAR FROM CURRENT_DATE ) AS YEAR,EXTRACT ( MONTH FROM CURRENT_DATE ) AS MONTH,EXTRACT ( D
2020-12-30 16:36:39
1444
原创 cmd窗口命令强制清除后台进程
废话不多说,直接上命令:先查询被占用的端口号(用port代替)netstat -aon | findstr port然后杀掉后台进程 监听端口号taskkill /pid port -t -f再查询一次,检查进程是否被杀掉,over
2020-12-22 14:03:40
2350
原创 char和varchar的区别--记保存数据带空格的问题
区别一,定长和变长char 表示定长,长度固定,varchar表示变长,即长度可变。数据库表字段如果用char,当插入的长度小于定义长度时,会用空格填充,带来不必要的麻烦;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。因为其长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率。varchar则刚好相反,以时间换空间。区别之二,存储的容量不同对
2020-11-23 16:04:23
1015
原创 Mybatis中sql语句大于小于号的处理
特殊字符 替代符号 & & < < > > " " ' '小于等于 a<=b a <= b a <![CDATA[<= ]]>b大于等于 a>=b
2020-11-18 14:20:06
1120
原创 错误解决:Expected one result (or null) to be returned by selectOne()
Expected one result (or null) to be returned by selectOne(), but found: 2这句话代表两种情况:1.你想查询一条数据,但返回两条数据:2.你想查询多条数据,但是前台限制只能查询一条(1) 检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度)(2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据(3) dao层接口要与mybaties中返回值和
2020-11-17 13:45:54
63807
1
原创 @Schedule定时任务
定时任务@SChedule详解一、Cron详解:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:1.Seconds Minutes Hours DayofMonth Month DayofWeek Year2.Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下:Seconds: 可出现", - * /“四个字符,有效范围为0-59的整数Minutes:
2020-11-11 17:11:16
1789
原创 PGSQL序列未定义和建立ORACLE的序列触发器
if(id.hasSequence){delete original&&pxbj.currval;new SEQUENCE;new nextval;new currval}创建序列CREATE SEQUENCE seq_tableINCREMENT 1MINVALUE 1MAXVALUE 9223372036854775807START 1CACHE 10;ALTER TABLE seq_tableOWNER TO postgres;主键nextva
2020-10-27 18:00:37
401
原创 关于报错:There is already ‘xxxController‘ bean method的解决方法
出现这个错误的原因:XXXcontroller中的@RequestMapping存在相同的路径名@RequestMapping("**delByID**")public boolean delByID(){}@RequestMapping("**delByID**"){public Object getList(){}如上情况,IDEA控制台就会报 ***There is already 'xxxController' bean method*** ...
2020-10-24 17:49:57
1747
原创 计算机编码
一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。那么,这里的 00000011 和 1000...
2019-10-26 14:59:22
339
原创 mysql的安装配置登录
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-08-14 14:15:05
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人