- 博客(182)
- 资源 (2)
- 收藏
- 关注
原创 【java】列表导出excel(支持单元格内容换行展示)
这里写目录标题业务背景前端后端业务背景如下图,想将用户选中的记录导出excel,某一列内容导出后需要换行展示前端表格勾选框列代码:注:cid是记录的主键,绑定cid的方法用的公司封装方法,不通用,大家自主替换即可。其他表格元素就正常写,不再赘述<td 绑定cid值,width:'2%',checkbox:true," ><input type="checkbox" name="items" id="items" onclick="setCheckBoxState('cid
2022-02-25 11:24:25
7890
2
转载 spring 事务实现方式有哪些?
spring 事务实现方式有哪些?事务的使用场景spring 事务实现方式四种实现方式详细介绍事务的使用场景一个用户操作下包含多个数据库修改操作(增、删、改)时,必须确保这些修改操作要么同时执行,要么同时不执行,那么这个用户操作涉及到的代码块必须要加事务。spring 事务实现方式编程式事务管理(对基于 POJO 的应用来说是唯一选择)我们需要在代码中调用beginTransaction()、commit()、rollback()等事务管理相关的方法基于 TransactionProxyF
2022-02-09 18:05:24
2103
原创 Java实现反射的方式和反射的基本应用
准备先准备一个实体类User.java:package com.example.reflect;public class User { private String id; public String name; private String telephone; public String getId() { return id; } public void setId(String id) { this.id =
2021-10-09 17:33:02
376
原创 linux系统Redis下载安装步骤
linux系统Redis下载安装步骤下载解压安装配置文件启停 REDIS验证REDIS下载官网:https://redis.io/download中文网,想下载4.0版本用这个:http://www.redis.cn/download.html解压将压缩包“redis-4.0.9.tar.gz”拷贝到服务器,如:/tmp执行以下命令解压:cd /tmpmkdir -p /opt/redistar -zxvf redis-4.0.9.tar.gz -C /opt/redis安装执行以
2021-09-27 17:30:25
727
原创 linux系统Nginx下载安装步骤(含报错解决方法)
基础步骤下载地址: http://nginx.org/en/download.html1.解压将压缩包“nginx-1.16.1.tar.gz”拷贝到服务器,如:/tmp执行以下命令解压:cd /tmpmkdir -p /opt/flex/nginxtar -zxvf nginx-1.16.1.tar.gz -C /opt/flex/nginx2.安装执行以下命令安装:cd /opt/flex/nginx/nginx-1.16.1./configure --prefix=/opt/f
2021-09-27 17:13:13
1757
原创 HashMap、LinkedHashMap、HashTable、ConcurrentHashMap、TreeMap原理和区别
HashMap、LinkedHashMap、HashTable、ConcurrentHashMap、TreeMap原理和区别继承关系:区别各种Map的实现原理(1)HashMap原理工作原理JDK8以前【数组+链表】实现使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低(链表是主要为了解决哈希冲突而存在的——链地址法解决Hash冲突)JDK8以后【数组+链表+红黑树】实现如果
2021-09-13 17:22:36
256
原创 volatile的作用
前提知识:并发编程三个特性——原子性、可见性、一致性参考并发编程(原子性、原子性、可见性、一致性)原子性:锁,synchronized保证可见性:volatile保证有序性:多方面共同保障,如下1、synchronized2、lock3、volatile(一定程度的有序性)synchronized和lock在同一时刻只能让一个线程执行同步方法,当然就是有序的了。volatile的有序性是指写入修改后的volatile变量这个操作必定优先于 读取这个变量。volatile的作用(.
2021-09-13 16:12:11
865
原创 spring循环依赖最简单的解决方法
使用@Lazy注解@Lazy@Autowiredprivate AService aService;@Autowiredprivate BService bService;注意点:都要使用@Autowired注入,使用构造器注入时懒加载注解无效
2021-09-01 20:11:38
151
原创 国产化中间件东方通和金蝶的基本使用
国产化中间件、数据库基本使用中间件东方通TongWeb启动部署项目域金蝶数据库人大金仓kingbase达梦dm下列中间件或数据库在linux上的安装基本都是将安装包放进某个目录下,解压即可,不再赘述。中间件东方通TongWeb启动安装完tongweb后,在安装目录下找到bin目录,bin目录下就是一些启动停止东方通的命令:启动命令:(推荐使用后台启动)前台启动:sh startserver.sh//会直接打出启动日志,但是按ctrl+C退出时东方通也会停止后台启动:nohup sh s
2021-08-09 18:21:36
16726
1
原创 Web 项目如何读取外部配置文件?
本地使用外部配置文件:部署到服务器上怎么办呢?仅用于启动时自动获取yml文件:import java.io.File;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;import org.springframework.boot.SpringApplication;import org.springframework.boot
2021-07-27 18:27:45
864
原创 30分钟迅速入门Linux基本命令
Linux学习笔记Linux学习笔记1. 目录结构2. 文件基本属性1.1 文件属性:1.2 文件类型:1.3 修改文件属性1.3.1 chgrp :修改属组1.3.2 chown :修改属主(也可以修改属组)1.3.3 chmod :修改文件9个属性M1:数字修改M2:符号修改3. 文件和目录管理3.1 处理目录常用命令3.1.1 ls(列出目录)3.1.2 cd(切换目录)3.1.3 pwd(显示当前目录)3.1.4 mkdir(创建新目录)3.1.5 rmdir(删除空的目录)3.1.6 cp(复制文
2021-07-23 16:31:54
2132
原创 maven项目多模块相互调用方法
maven项目多模块相互调用方法问题背景解决方法方法1方法2问题背景maven项目包括多个子模块,类似下图:现在【web】模块某个类想要调用【service】模块的某个类的某个方法。如果直接通过@Autowired注入【service】模块的某个类,会发现编译器根本找不到那个类,因为跨模块了。解决方法方法1在【web】模块的pom.xml中添加依赖,引入【service】模块,类似:<dependency> <groupId>com.***.***</
2021-06-10 14:56:24
15799
2
原创 HTML根据条件判断使用哪个class-name
在v-for循环语句中,想根据后端传来的list的某个值来指定不同的class:class="{'fd-step-blue':item.zt == 1,'fd-step-green':item.zt==2,'fd-step-red':item.zt==3,'fd-step-grey':item.zt==0,'fd-step':index != dzsjdclcList.length-1,'fd-step-last':index == dzsjdclcList.length-1}"...
2021-06-07 10:46:08
1155
1
原创 Java从服务器下载文件到本地
不建议使用,需要知道服务器密码才能使用,但是生产环境的服务器密码一般不对开发者开放。SCPClient 的get方法从服务器下载中文名称的文件时也存在问题。/** * 创建SSH连接 * @param hostName * @param username * @param password * @param port * @return */ public static Connection getConnect(String
2021-05-24 18:41:18
5357
1
原创 SUM函数统计注意点
字符串转数字sum后面只能接数字,数据库字段有时候会用字符型存储数字,使用前需要先类型转换:sum( cast(字段名 as int)处理空值没有统计值时返回给前端的为空,前端显示空白,想要显示0的话需要作如下处理:COALESCE( sum( cast(字段名 as int),0)...
2021-04-20 10:33:03
1099
原创 数据库敏感字段快速方便地加密解密
数据库敏感字段快速方便地加密解密加密解密工具类加密解密处理器业务背景:用户插入数据时,敏感字段要加密入库;展示在前端时是解密后的。但是加密后字段只能精确筛选了。加密解密工具类使用的是SM4国密算法导入依赖:<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-ext-jdk15on</artifactId> <version&
2021-03-11 17:35:18
2008
1
原创 使用AOP输出日志记录(自定义注解拦截Controller方法)
使用AOP输出日志记录(自定义注解拦截Controller方法)1.自定义注解类定义切面类1.自定义注解类@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@Documentedpublic @interface InterfaceSpLog { /* * 操作的页面(或模块) * */ String operationName() default ""; /* * 操
2021-03-11 17:06:18
1015
原创 使用Socket编写一个服务端与客户端的聊天程序
使用Socket编写一个服务端与客户端的聊天程序服务端客户端实现效果服务端import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;//服务器端代码//监
2021-01-27 16:04:37
1322
原创 对List<Map<String,Object>>进行中文字段排序和多个字段的排序
对List业务背景List<Map<String,Object>>类型的集合里存放了多个Map,Map的key值有”name","value"两个。现在想先对存在value值的数据按value值从大到小排序,再对剩下没有value值的数据按照name中文首字母排序实现代码重点是中文如何排序,直接使用compare方法会发现排序结果毫无章法,因为compareTo只适用于字母字符排序。应该使用下列比较方法:/*** 中文排序 */public int compareCh
2021-01-26 17:17:38
1725
原创 js使用splice删除数组元素
js使用splice删除数组元素splice(index,num,item1,.....,itemX)index: 必需,规定开始添加/删除项目的索引,使用负数可从数组结尾处规定位置num:必需,要删除的项目数量。如果设置为 0,则不会删除项目item1,.....,itemX:可选,向数组添加的新项目。splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目,不是返回删除后的数组如:var arr = new Array(3)arr[0] = "spring"arr[1
2020-11-20 13:47:46
1624
原创 解决nodejs打前端包时报npm ERR! code EINVALIDPACKAGENAME
解决nodejs打前端包时报npm ERR! code EINVALIDPACKAGENAME问题重现解决方法前后端分离时,源码分为前端和后端两个文件夹,后端开发者想要看到页面,需要先将前端文件打包,再放入后端文件夹中的对应位置。问题重现在对应的前端文件夹下,直接使用npm install命令,报如下错误:npm ERR! code EINVALIDPACKAGENAMEnpm ERR! Invalid package name “_@babel_code-frame@7.8.3@@babel”:
2020-10-27 10:21:39
20312
7
原创 java实现抽取json文件指定字段值
使用场景我有一个5000条数据的json文件,每条数据包含地名、该地的经纬度等其他很多信息。现在想把地名和经纬度抽出来导入到数据库中。navicat自带的导入json格式文件不好用,只能导入json文件中的外层数据,而我需要的地名和经纬度信息在json的内层。抽取json指定字段值json文件格式{ "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Po
2020-09-10 16:28:41
6919
1
原创 @ApiOperation、@ApiModelProperty、@Valid都是啥注解?
@ApiOperation、@ApiModelProperty、@Valid都是啥注解?@ApiOperation有什么用?参数说明?怎么用?@ApiModelProperty有什么用?参数说明?怎么用?@Valid有什么用?参数说明?怎么用?补充:为实体属性添加验证条件的注解@ApiOperation有什么用?我看到的代码是写在controller层的方法上面。这个注解是swagger包里的,所以肯定和接口有关,果然,是用来为接口添加说明的。参数说明?和@ApiOperation类似的还有@A
2020-08-25 18:11:31
3265
原创 Java实现在线word文档添加铺满效果文字水印,文字可换行
Java实现在线word文档添加铺满效果文字水印,文字可换行使用插件Aspose.words for java生成水印的工具类调用生成水印方法需求:为在线预览的word文档添加自定义水印,还要铺满效果,文字太多还要能换行使用插件Aspose.words for java一个jar包,官网下载或者复制相应的depedency语句即可,专门处理开发过程中的word文档的工具,功能挺强大,但是需要先破解,破解的关键就是把注册license的源码给删了,网上破解教程不多,且都大同小异,反正我是破解成功了,你们
2020-08-19 12:49:41
2749
1
原创 windows installer 窗口一直”正在取消“,无法关闭
我的电脑安装了xftp6后,再打开百度网盘,会跳出提示让我安装xftp6,但是安装路径是无效的,而且我已经安装好了呀…最终问题出在xftp6的安装上(我不知道是不是我安装有什么问题,有的人是卸载不完全出现这种问题),它占用了其他应用的进程,所以需要将xftp6的安装清除(不是卸载xftp6)问题重现,一直处于取消状态,关也关不掉浏览器搜索windows installer cleanup utility,下载windows installer cleanup utility下载完安装w
2020-08-17 13:54:12
5904
原创 sonar问题:Font declarations should contain at least one generic font family
问题:sonar问题解释:If none of the font names defined in a font or font-family declaration are available on the browser of the user, the browser will display the text using its default font. It’s recommended to always define a generic font family for each decl
2020-08-11 14:14:48
1575
原创 写sql时几个比较常用的函数row_number,case when,limit等
写sql时几个比较常用的函数持续更新…row_numberROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号 。可用于编号、排序、找出第几个数据、分页例1–对分数进行降序排序:select row_number() over(order by score desc) number,*from sc例2–获取成绩第二高的同学的成绩select sname,score from( select row_number() over(order
2020-07-14 15:42:06
1182
原创 sql复杂查询例题和答案---笔试前可以练一遍找感觉
sql复杂查询例题题源题源答案看的有点费劲,自己做了一遍,但我自己做的也不能保证正确或者最简单,欢迎指正!复杂查询的方法就是把题干不断分解,理出1,2,3步骤,从小到大逐步查出需要的内容,嵌套子查询一定要从儿子往爸爸写呀!建表和插数据/***学生表***/create table student(sno varchar(10) primary key, -- 学号sname varchar(20), -- 姓名sage int2, -
2020-07-14 15:20:44
1269
1
原创 Several ports (8005, 8080) required by Tomcat v9.0 Server at localhost are already in use.
一般是结束javaw.exe具体步骤:win+R 输入cmd打开控制台控制台输入:netstat -ano找到8005/8080对应的进程号(PID)打开任务管理器–>详细信息–>找到对应PID并右键结束任务
2020-06-12 10:47:07
2501
原创 mysql使用AES_ENCRYPT或DECODE加密时报1366错误
错误:[Err] 1366 - Incorrect string value: ‘\x8C`}\xB8\xBA}…’ for column ‘password’ at row 1网上都说是字符集设为utf8,但那是常规情况,我目前已经是utf8了。解决办法应该是改变需要加密的数据表字段的类型:比如password原来是VARCHAR类型,改成varbinary就行了,因为AES应该是返回一个二进制字符串...
2020-05-26 12:50:04
1267
原创 CSS--按钮四状态
按钮四状态普通状态hover 鼠标悬停状态active 点击状态focus 取得焦点状态四种状态转换主要是颜色转换,当然其他样式也可以变注意:是冒号,不是"."/*普通*/.jqButton-bule_but.jqButton .jqButton-btn{ background-color: #ecc31f; font-size:20px; he...
2020-04-27 13:09:16
1200
原创 文件公用工具类
文件公用工具类,方便快速处理文件public final class GyFileUtil { private GyFileUtil() { super(); } /** * 日志 */ private static final Logger logger = LoggerFactory.getLogger(GyFileUt...
2020-04-22 16:08:34
274
原创 postgresql函数笔记
资源合集:cast函数COALESCE函数判断字符串包含的几种方法连接符 " || " case when in 与 exists聚合函数string_agg与array_aggregexp_split_to_table、regexp_split_to_array合集postgresql学习手册:函数和操作符...
2020-04-09 13:40:05
167
原创 vue cli安装贼慢解决办法
网上解决办法都是用淘宝镜像,但我先切换了镜像,安装还是慢,最后发现了一个比较快的方案。打开cmd先装一个cnpm,指向淘宝npm仓库npm install -g cnpm --registry=https://registry.npm.taobao.org再安装vue clinpm install -g vue-cli补充:安装vue cli前要先安装node.js...
2020-03-23 15:54:16
3534
2
原创 jQuery使用插件tablesorter实现纯前端表格排序
jQuery使用插件tablesorter实现纯前端表格排序必要步骤1.引入tablesorter插件2.为目标表格指定id或class3.目标表格调用排序方法箭头图标必要步骤1.引入tablesorter插件在HTML文件里加入:(注意,要先引入jquery)<script src="../resources/home/js/jquery-1.11.3.js"></sc...
2020-02-19 09:59:48
1630
原创 通过Tortoise git工具拉取/上传gitlab项目
通过Tortoise git工具拉取/上传gitlab项目从远端拉取项目本地项目提交到远端库拉取远端更新的内容到本地冲突git和Tortoise git工具安装和配置就不提了,简单介绍如何从gitlab上拉取项目到本地,以及修改完代码后如何将更新上传到gitlab。从远端拉取项目在本地新建一个空文件夹(最好全英文)进入空文件夹,随便在空白处鼠标右键,找到git clone本地项目...
2020-01-13 13:56:58
3715
原创 Java循环输入格式错误捕获异常后,进入下一次循环的方法
Java循环输入格式错误捕获异常后,进入下一次循环的方法原来写法解决方法用控制台实现个简单的计算器功能,想捕获处理用户输入格式异常时发现捕获一次后,只会无限循环打印该异常信息,因为每次循环执行的数据都是第一次输入的数据,所以一直报异常。解决办法简而言之,就是把流放进循环里,每次都重新创建(有点浪费…)原来写法写的逻辑可能比较复杂了,因为练习时想多涉及些知识点…public static ...
2019-12-23 13:42:05
2132
原创 启动Tomcat报错Several ports (8005, 8080, 8009)
报错信息:Several ports (8005, 8080, 8009) required by Tomcat v8.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. ...
2019-11-02 11:24:57
386
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人