- 博客(66)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 tableau连接doris,std函数不兼容问题
背景:tableau通过mysql连接doris。tableau使用的mysql协议,计算标准差时用到的std函数,在doris中使用的是stddev函数,所以在计算时会报错,以下是为了解决这个问题。
2022-05-19 18:04:01
650
原创 SpringBoot静态资源无法访问
主要用于静态资源放的目录不是static(本例中用的是:statics),因为默认的静态资源目录就是static,所以如果放到static目录下,大概率是不需要配置的吧,我的理解如此,若有不同见解,请评论哦!方法一:使用配置文件(yml)spring: mvc: static-path-pattern: /statics/** #放开springboot对静态资源的拦截(判断路径符合这个规则的,为静态资源) resources: static-locations: classp
2022-02-18 10:15:21
1354
原创 Java发送邮件(带附件)
pom依赖 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>EmailInfo实体类package com.lt.bus.pojo;
2022-01-17 15:06:37
5806
4
原创 Springboot+mybatis双数据源(Druid和jdbc)
项目包结构POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.7.RELEASE</version> </parent> <depend
2022-01-17 14:44:51
292
原创 Mybatis单独使用时,配置文件
mybatis.cfg.xml文件<?xml version="1.0" encoding="UTF-8" ?><!--XML文件需要提供dtd或者xsd文件,来定义XML文件的标签结构--><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><conf
2021-12-30 12:04:33
542
原创 mysql查询结果乱序排列
查询结果乱序排列select * from tableAorder by RAND()看上去没什么用,你不知道,就是见世面不行,有些时候就用复杂的程序代码来写,贼鸡儿心累。o(╥﹏╥)o o(╥﹏╥)oo(╥﹏╥)o o(╥﹏╥)oo(╥﹏╥)o o(╥﹏╥)o...
2021-12-24 17:26:46
852
1
原创 mysql查询结果带上序号
1.带序号的查询select (@i := @i + 1) as number,a.* from tableA ajoin (select @i:=0)n效果如下:
2021-12-24 17:22:48
2248
原创 SSM整合:SpringMVC XML配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http:
2021-12-21 17:39:49
88
原创 SSM整合:Spring XML文件
SSM整合可能用到的XML文件:》数据库注解文件扫描》spring注解扫描》Mapper扫描bean》配置数据源》配置工厂bean》事务管理bean及切面》SchemaBased方式组成切面》Aspectj方式组成切面<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3
2021-12-21 17:17:43
729
原创 Sentinel实时监控不显示
问题如下:在控制台里,此应用可以出来,但是解决方式一(未解决):看到网上的解决办法是,使sentinel所在服务器的时间和应用所在机器的时间一致,修改docker容器时间。我就同步了一下,问题没有得到解决。二、查看日志docker logs -f sentinel发现日志结果:连接应用连接超时,连接应用的ip居然是我内网的IP地址(此时我的sentinel是在阿里云上的),难怪连接不上。或许Sentinel只能在内网进行使用吧!!初学尚有许多不理解!我在本地虚拟机上运行Sentine
2021-11-12 11:29:31
2808
4
原创 修改docker容器的时区
docker exec -it 容器名 sh -c 'mkdir -p /usr/share/zoneinfo/Asia/'docker cp /usr/share/zoneinfo/Asia/Shanghai 容器名:/usr/share/zoneinfo/Asia/Shanghaidocker exec -it 容器名 sh -c 'ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime'效果如下(sentinel为我的容器名):
2021-11-12 10:03:38
566
原创 23种设计模式
只学了创建者模式,因为感觉别的设计模式暂时用不上,自己画的图,分享出来。参考:https://refactoringguru.cn/design-patterns
2021-10-29 11:44:29
60
原创 linux下部署Spring boot jar包
1.首先把打好的jar包传到linux目录中(此处我传递在了/usr/tools中)2.启动方式启动方式分为正常启动和后台启动:2.1 正常启动java -jar 包名java -jar sqlfield-0.0.1-SNAPSHOT.jar启动后如下效果:这代表启动成功了,我们可以在访问一下,项目启动成功(如果为阿里云服务器,记得开放安全组)。问题:这样启动后,我们一退出(按Ctrl+C或者关闭Xshell连接linux的窗口),项目就会关闭了,我们就访问不了了。这时候就要用后台
2021-10-29 11:25:23
1453
原创 ActiveMQ发送和监听类
本文内容共分为三大块:①.发送消息到MQ队列②.在固定时间内接收一个MQ消息③.监听MQ消息队列依赖 <dependencies> <!--javax属于java的扩展包,不在标准库中--> <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> <version&g
2021-10-15 15:44:02
681
原创 docker启动容器出错
错误信息:docker: Error response from daemon: cannot start a stopped process: unknown.解决方法:执行这个命令sudo yum install -y libseccomp-devel
2021-09-09 16:24:46
652
原创 Centos8网络NAT模式配置
一.首先配置网卡NAT模式一般就是与VMnet8网卡有关,这个网卡是安装虚拟机的时候自带的。如果你没有VM8,看本文的最后面!1.1修改该虚拟网卡的配置右击VMnet8----》点击 属性----》双击 IPV4 -----》配置IP地址1.2 配置虚拟网络编辑器打开虚拟机,点击菜单栏中 编辑,点击 虚拟网络编辑器二 配置虚拟机内部的配置文件2.1进入配置文件此处注意:你的网卡名字可能不叫ifcfg-ens33,改成你自己的vim /etc/sysconfig/network-s
2021-08-18 16:18:02
1206
1
原创 软件开发常用网站
1.中文乱码排查http://www.mytju.com/classcode/tools/messyCodeRecover.asp2.代码格式化:http://www.planetb.ca/syntax-highlight-word3.java1.8在线中文手册:https://www.matools.com/api/java84.json格式化:https://www.sojson.com/5.文本在线对比:http://www.ab173.com/t...
2021-07-15 12:05:17
628
1
原创 doris数据库环境搭建报错(invalid cluster id. ignore)
这个问题足足困扰了我五天,好几天鏖战到深夜。成天茶不思饭不想,终于解决,由于网上资料很少,在此记录一下,大家有什么关于doris的问题,欢迎交流哈~报错信息如下(大概信息如下):waiting to receive first heartbeat from frontendwaiting to receive first heartbeat from frontendwaiting to receive first heartbeat from frontendwaiting to receive
2021-06-15 23:19:16
2681
5
原创 java线程池_submit()
submit()方法有三个重载方法:submit(Callable<T> task)//参数为Callable接口的实现类的实例submit(Runnable task, T result)//第二个参数为默认值submit(Runnable task)线程池测试类package com.thread.pool;import java.util.concurrent.ExecutionException;import java.util.concurrent.Executor
2021-06-10 22:30:17
5968
原创 swap交换分区
要解决的问题在编译doris的时候报了这样一个问题,内存不足,可怜的我的某云,是2G内存的,然后在百度的时候发现了一个解决办法,swap(乍一看,挺熟悉哈,不过最后一个字母是p不是g)交换分区。virtual memory exhausted: Cannot allocate memory详解我们在安装系统是已经建立了swap分区,swap又叫交换分区,是一块特殊的硬盘空间。当实际的内存不够用时(好比我那可怜的2G内存),操作系统会在内存中抽出一部分暂时不使用的数据,放在swap中,这样内存就会有
2021-06-10 09:36:33
1424
原创 java线程池(四)之newScheduledThreadPool
newScheduledThreadPool测试类package com.thread.pool;import java.util.Date;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class TestScheduledPool { public stat
2021-06-07 23:20:06
1139
原创 java线程池(三)之newSingleThreadExecutor
newSingleThreadExecutor测试类package com.thread.pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class TestSingleThreadExecutor { public static void main(String[] args) { /** * Finalizabl
2021-06-07 23:17:17
664
原创 java线程池(二)之newCachedThreadPool
newCachedThreadPool测试类package com.thread.pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class TestCachedThreadPool { public static void main(String[] args) { /** * 此方法调用(有两种,此处写无工厂的
2021-06-07 23:16:08
808
原创 java线程池(一)之newFixedThreadPool
newFixedThreadPool 测试类package com.thread.pool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class TestFixedThreadPool { public static void main(String[] args) { /** * 调用方法 new ThreadPo
2021-06-07 23:14:43
2570
原创 java线程池综述
线程池四大类说明java中线程池有四大类,其原理都是调用new ThreadPoolExecutor方法,下面说下该方法的各个参数意思: /** * 创建线程池方法,该方法为创建四种线程池调用的最终方法 public ThreadPoolExecutor(corePoolSize, Integer.MAX_VALUE, 0,
2021-06-07 23:11:43
81
原创 java输出流_缓存_复制文件
本文内容文件输出流、缓存、文件复制outText();//使用字节输出字符串到txt文件(或追加内容)appendText();//使用RandomAccessFile(此类还可以进行读操作)向文件中追加内容charOutText();//使用字符输出流,将字符串输出到txt中bufferCharOutText();//加缓存的、按字符输出(按字节输出一样)readOutZip();//读取文件然后写入到另一个路径下(相当于拷贝)package com.io.file;import jav
2021-06-01 21:30:43
437
原创 按字节方式和字符方式读取文件_加载配置文件
本文内容IO流在我印象中一直是比较复杂的,类太多,这次整理一下,本文只是记录了I/O流中的I,只有读取文件,没有输出,通过四个静态方法,分别写了:按字节方式读取文件、按字符方式读取文件、字符加缓存读取文件(配置字符编码)、加载配置文件到Properties中(如果是在项目中加载配置文件,请参考我之前写的《jfinal加载配置文件的原理》)。package com.io.file;import java.io.*;import java.util.Properties;public class
2021-05-30 16:16:34
300
原创 on duplicate key update
1.语法:insert into 表名(字段名1,字段名2,字段名3,字段名4……)values(字段1的值,字段2的值,字段3的值,字段4的值……)on duplicate key update 某字段=某字段的值,某字段=某字段的值,某字段=某字段的值例如:-- id为主键,school_code为唯一约束-- id使用的是uuid,一般不会重复-- 如果学校编码列不存在nanshan,则插入该数据 -- 如果存在nanshan这个学校编码,则将学校地址更换为‘东海’insert i
2021-05-26 14:59:51
356
1
原创 MySQL查漏补缺(五)不熟悉的知识点
1. count(**)和count*(列名)的区别count(*):查询所有数据的行数count(列名):查询该列存在的行数(若该列为null,则不记录该条记录)2. union和union all的区别union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;union all :对两个结果集进行并集操作,包括重复行,不进行排序;3. 批量插入多句insert into 表名(列名) select 列名 from 表名4. 创建视图create view 视图名 a
2021-05-10 16:28:41
98
原创 MySQL查漏补缺(四)存储过程和游标
1. 存储过程1.1 什么是存储过程?简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。1.2 为什么要使用存储过程使用存储过程有三个好处:简单、安全、高性能。注意:一般来说,存储过程比基本的SQL语句更加复杂,许多数据库管理员限制存储过程的创建权限,允许用户使用存储过程,但不允许他们创建存储过程。1.3 使用存储过程1.3.1 执行存储过程CALL productpricing(@pricelow,@pricehigh,@priceaverage);执行名为produc
2021-05-10 14:45:02
229
3
原创 AES/ECB/PKCS5Padding加解密
注意事项(代码最后附上):1.测试网站:http://tool.chacuo.net/cryptaes2.代码中最后的main方法为测试方法,展现了两种输出方式,即base64和hex。3.java中有效密码为16位/24位/34位,其中如果想使用24位/32位的密码进行加密,需要下载对应jdk的JCE(Java密码扩展无限制权限策略文件),将对应的local_policy.jar和US_export_policy.jar放到%JDK_HOME%\jre\lib\security下,即替换原有两个文件
2021-05-07 14:54:26
9042
win server 2008设置账户
2022-08-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人