后端笔记
Ark方舟
十年树木,百年树人。 ——《管子·权修》
展开
-
企业级springboot项目架构模板V5.1 sharding-jdbc版本,开箱即用(针对中小型项目架构,内置切换sharding-jdbc数据源实现分库分表配置,免去重复造轮的操作,强烈推荐)
SpringBoot多模块架构,争对企业级开发设计,已集成认证功能、文档功能,开箱即用。技术栈: springboot + redis + shiro + swagger + xxl-job + 文件存储(soo | ftp | minio)+ sentinel + sharding-jdbc启动项目后访问 http://127.0.0.1/doc.html 进入swagger接口文档页。原创 2022-09-25 23:56:19 · 567 阅读 · 0 评论 -
mysql in 查询时 入参为逗号隔开的字符如何查询,使用 find_in_set 代替 in
find_in_set 函数原创 2022-08-19 10:59:26 · 517 阅读 · 0 评论 -
企业级springboot项目架构模板V5.0,开箱即用(针对中小型项目架构,免去重复造轮的操作,强烈推荐)
SpringBoot多模块架构,争对企业级开发设计,已集成认证功能、文档功能,开箱即用。技术栈: springboot + redis + shiro + swagger + xxl-job + 文件存储(soo | ftp | minio)+ sentinel启动项目后访问 http://127.0.0.1/doc.html 进入swagger接口文档页。.....................原创 2022-08-09 23:08:59 · 751 阅读 · 0 评论 -
Java获取枚举内容转List<Map<Integer, String>>结构
Java获取枚举内容转List结构。原创 2022-08-08 22:08:32 · 759 阅读 · 0 评论 -
FastJson @JSONField用法
序列化字段的顺序,默认是0@JSONField(name = “”)@JSONField(format = “yyyy-MM-dd HH:mm:ss”) 用在Date属性上,自动格式化日期@JSONField(serialize = false) 是否要把这个字段序列化成JSON字符串,默认是true@JSONField(deserialize = false) 字段是否需要进行反序列化,默认是true...原创 2022-07-14 13:52:36 · 1135 阅读 · 0 评论 -
Docker 常用容器安装
docker 安装Mysql、Redis、minio、FTP、Nginx+FTP访问静态资源原创 2022-07-09 20:26:25 · 1200 阅读 · 0 评论 -
Docker安装Minio
docker 安装 Minio (含分享链接无法访问的问题)原创 2022-07-08 00:05:37 · 540 阅读 · 0 评论 -
Docker安装Nginx+FTP访问静态资源
docker 安装 Nginx原创 2022-07-03 01:28:59 · 1018 阅读 · 0 评论 -
企业级springboot项目架构模板V4.0,开箱即用
此次 4.0 更新点:1.添加线程池的使用;2.Springboot版本更新2.7.0,解决部分冲突的依赖;3.所有表结构去除 ID 字段(不在使用ID作为主键),主键直接使用算法生成4.解决过滤器,引起Druid监控无法访问的问题。5.FTPClient解决中文文件名称读取乱码问题、文件路径解析问题;6.CVE 漏洞扫描,解决->版本更新。......原创 2022-06-20 16:26:12 · 573 阅读 · 0 评论 -
进入Docker 容器后 发现 vim 和 ll 命令不可用的问题
进入Docker 容器后 发现 vim 和 ll 命令不可用的问题2.ll命令无法执行在Docker下的CentOS很多没有ll命令,其实可以到/root/.bashrc文件中添加下面一行命令:然后执行一下 就可以了。其实可以再添加一行让命令行自动着色。......原创 2022-06-15 16:53:13 · 453 阅读 · 0 评论 -
IDEA插件-自动生成 Controller service mapper 等
Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。原创 2022-06-15 15:17:08 · 2714 阅读 · 0 评论 -
windows cmd使用ssh连接Linux以及文件上传
CMD连接服务器命令(47.102.144.221 为服务器 IP)文件上传(scp 后面参数为本地文件地址 , 47.102.144.221 为服务器 IP, 冒号后面指 将文件上传到服务器哪个目录下)如下图:原创 2022-06-11 01:52:25 · 4327 阅读 · 0 评论 -
stream的.findAny().orElse (null) 是什么意思?
List<User> userList = new ArrayList();User user1 = userList.stream().filter(user -> "zhangsan".equals(user.getUserName())).findAny().orElse(null);1、filter为过滤,user代表userList中的一个User;2、userList.stream().filter(user -> “zhangsan”.equals(user.g转载 2022-05-30 16:47:31 · 2028 阅读 · 1 评论 -
Spring 获取带有指定注解的Bean对象
Java 获取带有指定注解的 Bean 对像列表,主要通过 ApplicationContext.getBeansWithAnnotation(Class<? extends Annotation> annotationType) 方法即可获取,案列如下:1. 假设我们自定义一个注解 @CronJob (然后可以是其他任意注解)import org.springframework.stereotype.Component;import java.lang.annotation.*;.原创 2022-05-25 23:19:33 · 5098 阅读 · 0 评论 -
企业级springboot项目架构模板V3.0,开箱即用
此次 3.0 更新点:1.加入文件服务(quick-storage)功能支持OSS、FTP存储(该服务支持以SDK的方式引入)2.修复sentinel因path路径问题导致流控失效问题3.修复word模板生成PDF文件工具类时首次生成时,图片生成没有成功写入FTP的问题,原因为临时文件路径问题。4.修改部分类的包路径5.auth服务下的各个表结构新增了 serve_name varchar(60) DEFAULT NULL COMMENT ‘所属服务名称’,通过该字段 auth服务可以注入多个项.原创 2022-05-20 21:42:09 · 857 阅读 · 0 评论 -
docker安装FTP
1. 拉取镜像docker pull fauria/vsftpd2. 创建容器并运行docker run -d -v <本机挂载目录>:/home/vsftpd \-p 20:20 \-p 21:21 \-p 21100-21110:21100-21110 \-e FTP_USER=<登录名> \-e FTP_PASS=<登录密码> \-e PASV_ADDRESS=<ip address of your server> \-e PAS原创 2022-05-08 23:50:38 · 413 阅读 · 0 评论 -
BigDecimal中的大于等于、小于等于及加减乘除
if(a.compareTo(b) == -1){ System.out.println("a小于b");} if(a.compareTo(b) == 0){ System.out.println("a等于b");} if(a.compareTo(b) == 1){ System.out.println("a大于b");} if(a.compareTo(b) > -1){ System.out.println("a大于等于b");} if(a.c原创 2022-04-22 18:01:00 · 2527 阅读 · 0 评论 -
response.setContentType() ;参数说明
response.setContentType() ;= application/octet-stream.001 = application/x-001.301 = application/x-301.323 = text/h323.906 = application/x-906.907 = drawing/907.a11 = application/x-a11.acp = audio/x-mei-aac.ai = application/postscript.aif = audio转载 2022-03-11 23:14:50 · 873 阅读 · 0 评论 -
mysql tinyint和char(1) 性能对比
在数据库设计的时候会遇到很多只需要0、1、2这种固定几个值的状态字段,基本上都建议设置为只占一字节的tinyint类型,8字节 = 1字符 (所有使用 tinyint 类型 更节省空间)原创 2022-02-17 16:57:24 · 1284 阅读 · 0 评论 -
根据Servie接口 生成 Controller 代码-因业务需要简单应付勿喷
附上垃圾代码(勿喷,只不过为了应付工作需求 ,百十来个service 都要创建对应的 controller的需求,复制实在吃不消,说明一下 就是简单的字符串替换操作)ApplicationController import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;impor..原创 2022-01-04 17:30:30 · 627 阅读 · 0 评论 -
Sql语句 INSERT into ON DUPLICATE KEY UPDATE 使用
新增修改sqlINSERT into tableName () values () ON DUPLICATE KEY UPDATE name = 'admin' , pwd = '123';原创 2021-12-21 17:38:44 · 538 阅读 · 0 评论 -
springboot多模块打包配置问题
工程案例结构: - baidu // 聚合过程 - baidu_web // 子模块web工程 - baidu_service // 子模块 - baidu_config // 子模块配置工程 注意事项(配置步骤):1. baidu 聚合工程 工程下的 pom.xml 文件案列如下:<?x...原创 2021-12-21 17:15:57 · 558 阅读 · 0 评论 -
Excel转CSV格式
注意: CSV文件导出来的 可以理解为 就是一个 普通的文件, 但至于使用什么样的软件打开就是另一马事了,比如Excel打开后 出来 “自动过滤了数字前面的0”,这玩意程序控制不到,那是Excel的事情。CSV不是Excel文件切记,只不过用表格软件打开CSV而已import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.user原创 2021-12-10 16:18:04 · 2239 阅读 · 0 评论 -
Java中Validator的使用
原文:Java中Validator的使用_荼白-CSDN博客_java validator很多时候都需要校验穿的参数是否符合规则,但是这种校验的代码会重复很多,所以引入 validator 来校验参数,这样可以省去很多冗余的代码目录pom文件引入需要校验的参数编写 Validator 校验工具在传入参数时先校验参数常见的校验注解pom文件引入 <dependency> <groupId>javax.validation&l.转载 2021-12-03 13:43:50 · 6761 阅读 · 1 评论 -
springBoot service 事务注解@Transactional不起作用的解决
在springBoot使用事物时,发现事务并没有正常执行,没有进行回滚 @Transactional public void add(String companyName,String name) throws MyException{ companyDao.add(companyName); try { userDao.addUser(name); }catch (DuplicateKeyException e){//这里在数据库将name设原创 2021-12-02 17:36:20 · 1178 阅读 · 0 评论 -
SpringBoot 大数据量导出多Excel文件后压缩
目录1. 导入依赖2.ExcelUtils 工具类3.大数据量生成Excel文件案列,生成多个Excel文件压缩 案列1. 导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.8&l..原创 2021-11-16 17:57:55 · 3362 阅读 · 0 评论 -
Java 文件压缩工具类
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * ZIP压缩工具类 */public class ZipUtil { private static final Logger LOGGER = LoggerFactory.getLogg...原创 2021-11-16 16:30:38 · 625 阅读 · 0 评论 -
IDEA插件分享(实用推荐)
1. SequenceDiagram 序列图插件 查看方法内部的调用其他的序列图 使用方法: 选中对应的方法,右击选择SequenceDiagram 或者右上角点击SequenceDiagramtu'bi2. Maven Search快速搜索自己需要的maven依赖,需要上网查找3. Maven Helper可以查看当前pom文件中的 所有、冲突的依赖4. Alibaba Java Coding Gui...原创 2021-11-07 21:57:15 · 3857 阅读 · 3 评论 -
Linux如何查看JDK的安装路径
which java首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。[root@localhost ~]# which java/usr/bin/java[root@localhost ~]# ls -lrt /usr/bin/javalrwxrwxrwx. 1 root root 22 Aug 17 15:12 /usr/bin/java -> /etc/alternatives/java[r原创 2021-11-03 17:49:10 · 93 阅读 · 0 评论 -
Springboot项目中如何使用线程池
用于大数据量的导出报表、远程请求处理数据量同步等等日常项目中可以定义多个线程池,如:报表导出使用的线程池 或 大数据量操作时使用(在配合webSocket通知前端,再或者大文件上传的线程池)自定义线程池 private Logger logger = LoggerFactory.getLogger(InitBeanConfig.class); @Bean public ExecutorService callbackThreadPool() {原创 2021-11-02 13:57:54 · 18353 阅读 · 0 评论 -
EasyExcel导出案例(只有你想不到)
JavaBeanimport com.alibaba.excel.annotation.ExcelProperty;import com.alibaba.excel.annotation.write.style.*;import org.apache.poi.ss.usermodel.BorderStyle;import org.apache.poi.ss.usermodel.FillPatternType;import java.util.Date;@ColumnWidth(20)原创 2021-10-29 15:26:41 · 572 阅读 · 1 评论 -
SQL CASE 多条件用法
案例一:CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END案例二:SELECT b.document_number, b.document_type, b.document_type_content_id, CASE document_type WHEN '01' THEN '一般经费' ..原创 2021-08-06 16:17:38 · 853 阅读 · 0 评论 -
IDEA设置 自动导包删无用包
手动导包和删包真的很让人头疼File——Setting——Editor——general——Auto Import原创 2021-04-14 18:00:00 · 235 阅读 · 2 评论 -
IDEA 编译器 设置方法之间分割线隔开
方法分割线一个文件可能会有一个或多个方法,堆积在一起使人眼花缭乱。方法分割线可以是我们快速区分方法。File——Setting——Editor——General——Appearance——勾选show method separators原创 2021-04-14 17:58:16 · 455 阅读 · 1 评论 -
FastJson 集合对象转换
SerializeWriter:相当于StringBufferJSONArray:相当于ListJSONObject:相当于Map<String, Object>JSON反序列化没有真正数组,本质类型都是List以 Student 对象为例 Student类要实现Serializable接口import java.io.Serializable;public class Student implements Serializable { private static .原创 2021-04-14 17:43:56 · 447 阅读 · 1 评论 -
docker搭建gogs
Gogs是一个轻量级的、易于设置、跨平台的Git托管服务,不逊色于 Gitlab 和GitHub。1.先下载gogs的docker镜像docker pull gogs/gogs2.创建gogs存储目录mkdir -p /var/gogs3.创建容器,使用gogs镜像docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs4.直接使...原创 2021-04-07 16:52:13 · 321 阅读 · 1 评论 -
springboot整合shiro实现认证授权源码
shiro-admin介绍springboot整合shiro实现前后端分离架构(swagger文档协调前端开发)源码地址:https://gitee.com/liujinxin_ark/shiro-admin.git软件架构架构说明springboot + shiro + mysql + swagger使用说明运行项目后访问 http://localhost:8080/doc.html 即可进入 swagger接口文档界面。如果想要单独做成一个jar包 后期项目直接导入使用,源码中在po原创 2021-03-06 16:00:06 · 154 阅读 · 1 评论 -
spring boot 项目打包到maven仓库供其它模块使用
在对spring boot项目进行打包发布的时候发现其它spring boot项目服务真正引用使用该spring boot包中的类需对打包插件做如下修改:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin&...原创 2021-02-15 19:54:43 · 353 阅读 · 0 评论 -
Java判断当前系统类型
String os = System.getProperty("os.name"); if(os.toLowerCase().startsWith("win")){ System.out.println(os + " can't gunzip"); } System类public staticPropertiesgetProperties(String)方法参数还可以有以下取值:java.version Java 运行时环境版本 java.vendor...原创 2021-01-30 14:51:13 · 694 阅读 · 0 评论 -
升级SpringBoot版本导致NoSuchMethodError: redis/clients/jedis/ScanResult.getStringCursor()
今天在对SpringBoot项目升级的时候,把2.1.8.RELEASE升级到了2.3.2.RELEASE(2.3.4 — 2.4.2区间内的版本是这样,其他的springboot版本 本人没试过),运行后发现,在获取在线用户的时候,报了一个错误,日志如下:Caused by: java.lang.NoSuchMethodError: redis/clients/jedis/ScanResult.getStringCursor()Ljava/lang/String; (loaded from ...转载 2021-01-30 01:06:54 · 675 阅读 · 0 评论