diff --git a/README.md b/README.md index ca0f8f6..be6eda9 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,4 @@ ### 自动生成数据库所有实体类 autoentity.pom.xml 基于jOOQ的自动生成实体类功能,添加pom文件或者修改至自己的pom文件中,maven打包即可在对应处生成实体类 - 需要在内配置数据库信息 以及生成文件所在的位置信息 - -## 鸣谢 - -感谢 [JetBrains](https://www.jetbrains.com/?from=real-url) 提供的 free JetBrains Open Source license - -[![JetBrains-logo](https://i.loli.net/2020/10/03/E4h5FZmSfnGIgap.png)](https://www.jetbrains.com/?from=real-url) \ No newline at end of file + 需要在内配置数据库信息 以及生成文件所在的位置信息 \ No newline at end of file diff --git a/src/main/doc/学习笔记/JAVA 手机号码格式验证,使用正则表达式.md b/src/main/doc/学习笔记/JAVA 手机号码格式验证,使用正则表达式.md deleted file mode 100644 index 9d1c972..0000000 --- a/src/main/doc/学习笔记/JAVA 手机号码格式验证,使用正则表达式.md +++ /dev/null @@ -1,15 +0,0 @@ -### JAVA 手机号码格式验证,使用正则表达式 - -```java -public static boolean isValidPhoneNumber(String phoneNumber){ - - if((phoneNumber != null) && (!phoneNumber.isEmpty())){ - - return Pattern.matches("^1[3-9]d{9}$",phoneNumber); - - } - - return false; - -} -``` \ No newline at end of file diff --git a/src/main/doc/学习笔记/Java 日期格式化.md b/src/main/doc/学习笔记/Java 日期格式化.md deleted file mode 100644 index 09ae22c..0000000 --- a/src/main/doc/学习笔记/Java 日期格式化.md +++ /dev/null @@ -1,40 +0,0 @@ -### Java 日期格式化 -#### 将birthday改为String类型 -```java -import lombok.Data; - -@Data -public class student { - - private String birthday; -} -``` -#### 直接把格式好的时间设置进去,值得注意的是DateTimeFormatter是线程安全的。 -```java -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - -public class demo { - - public static void main(String[] args) { - student student = new student(); - String current = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - student.setBirthday(current); - System.out.println(student); - } -} -``` -#### 效果:student(birthday=2024-02-17 01:36:22) -### (扩展)Spring框架中将Date的格式化方案 -#### 在Spring框架,如果你需要将一个日期格式从后端传递给前端,你可以通过注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") 进行返回。这样就可以直接在对象中(new Date())了 -```java -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Data; - -@Data -public class student { - - @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") - private String birthday; -} -``` \ No newline at end of file diff --git a/src/main/doc/学习笔记/Java如何向数组里添加元素.md b/src/main/doc/学习笔记/Java如何向数组里添加元素.md deleted file mode 100644 index fb25041..0000000 --- a/src/main/doc/学习笔记/Java如何向数组里添加元素.md +++ /dev/null @@ -1,29 +0,0 @@ -### Java如何向数组里添加元素 -#### 1.已有的数组datecolumn和list集合 -```java -String[] datecolumn = {"Mon", "Tue", "Wed"}; -List list = new ArrayList<>(); -list.add("Thu"); -list.add("Fri"); -list.add("Sat"); -list.add("Sun"); -``` -#### 2.数组和集合add到titleList中 -```java -List titleList = new ArrayList(); -//将datecolum数组转换list并add到titleList中 -titleList.addAll(Arrays.asList(datecolumn)); -//将list添加到titleList中 -titleList.addAll(list); -``` -#### 3.titleList集合转换title数组 -```java -String[] title = titleList.toArray(new String[titleList.size()]); -``` - -#### 4.遍历title数组 -```java -for (String string : title) { - System.out.println(string); -} -``` \ No newline at end of file diff --git a/src/main/doc/学习笔记/Map遍历方法.md b/src/main/doc/学习笔记/Map遍历方法.md deleted file mode 100644 index d9b660e..0000000 --- a/src/main/doc/学习笔记/Map遍历方法.md +++ /dev/null @@ -1,46 +0,0 @@ -```java - //准备 - Map map = new HashMap(); - map.put("key1", "value1"); - map.put("key2", "value2"); - map.put("key3", "value3"); -``` -```java - //第一种:普遍使用,二次取值 - System.out.println("通过Map.keySet遍历key和value:"); - System.out.println("map.keySet():"+map.keySet()); //[key1, key2, key3] - for (String key : map.keySet()) { - System.out.println("key= "+ key + " and value= " + map.get(key)); - } -``` -```java - //第二种 - System.out.println("通过Map.entrySet使用iterator遍历key和value:"); - Iterator> it = map.entrySet().iterator(); - System.out.println("map.entrySet():"+map.entrySet()); //[key1=value1, key2=value2, key3=value3] - while (it.hasNext()) { - Map.Entry entry = it.next(); - System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); - } -``` -```java - //第三种:推荐,尤其是容量大时 - System.out.println("通过Map.entrySet遍历key和value"); - System.out.println("map.entrySet():"+map.entrySet()); //[key1=value1, key2=value2, key3=value3] - for (Map.Entry entry : map.entrySet()) { - System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); - } -``` -```java - //第四种 - System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); - System.out.println("map.values():"+map.values()); //[value1, value2, value3] - for (String v : map.values()) { - System.out.println("value= " + v); - } -``` -```java - //第五种 - System.out.println("通过lamda表达式遍历key和value:"); - map.forEach((k, v) -> System.out.println("key = " + k + ", value = " + v)); -``` \ No newline at end of file diff --git a/src/main/doc/学习笔记/Mybatis (ParameterType) 如何传递多个不同类型的参数.md b/src/main/doc/学习笔记/Mybatis (ParameterType) 如何传递多个不同类型的参数.md deleted file mode 100644 index 6cdce99..0000000 --- a/src/main/doc/学习笔记/Mybatis (ParameterType) 如何传递多个不同类型的参数.md +++ /dev/null @@ -1,63 +0,0 @@ -### Mybatis (ParameterType) 如何传递多个不同类型的参数 -#### 方法一:不需要写parameterType参数。 -#### 由于是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始 -```java -public List getXXXBeanList(String xxId, String xxCode); - - -``` -#### 方法二:基于注解(最简单) -#### 由于是多参数那么就不能使用parameterType, 这里用@Param来指定哪一个 -```java -public List getXXXBeanList(@Param("id")String id, @Param("code")String code); - - -``` -#### 方法三:Map封装 -#### 其中hashmap是mybatis自己配置好的直接使用就行。map中key的名字是那个就在#{}使用那个。 -```java -public List getXXXBeanList(HashMap map); - - -``` -#### 方法四:List封装 -#### 传递list和map在资源消耗上肯定远大于方法一和方法二 -```java -public List getXXXBeanList(List list); - - -``` - -```java -#{} - -MyBatis处理 #{ } 占位符,使用的 JDBC 对象是 PreparedStatement 对象,执行sql语句的效率更高。 - -使用 PreparedStatement 对象,能够避免 sql 注入,使得sql语句的执行更加安全。 - -#{ } 常常作为列值使用,位于sql语句中等号的右侧;#{ } 位置的值与数据类型是相关的。 - -``` - -```java -${} - -MyBatis处理 ${ } 占位符,使用的 JDBC 对象是 Statement 对象,执行sql语句的效率相对于 #{ } 占位符要更低。 - -${ } 占位符的值,使用的是字符串连接的方式,有 sql 注入的风险,同时也存在代码安全的问题。 - -${ } 占位符中的数据是原模原样的,不会区分数据类型。 - -${ } 占位符常用作表名或列名,这里推荐在能保证数据安全的情况下使用 ${ }。 -``` \ No newline at end of file diff --git a/src/main/doc/学习笔记/RestTemple请求api接口发送formData形式.md b/src/main/doc/学习笔记/RestTemple请求api接口发送formData形式.md deleted file mode 100644 index e7f9a55..0000000 --- a/src/main/doc/学习笔记/RestTemple请求api接口发送formData形式.md +++ /dev/null @@ -1,32 +0,0 @@ -### RestTemple请求api接口发送formData形式 -```java -RestTemplate restTemplate = new RestTemplate(); - -// 用于请求报错后,查看报错详情的(如果接口有报错详情的话) -restTemplate.setErrorHandler(new ResponseErrorHandler() { - @Override - public boolean hasError(ClientHttpResponse clientHttpResponse) throws IOException { - return false; - } - - @Override - public void handleError(ClientHttpResponse clientHttpResponse) throws IOException { - - } -}); - -// 用于formData请求方式 -MultiValueMap params = new LinkedMultiValueMap<>(); -params.add("key","value"); - -// MultiValueMap遇到需要填充list,可参考下面做法 -for (int i = 0; i < AttachmentList.size(); i++) { - params.add("AttachmentList["+i+"].fileName",AttachmentList.get(i).getFileName()); - params.add("AttachmentList["+i+"].attachmentUrl",AttachmentList.get(i).getAttachmentUrl()); - params.add("AttachmentList["+i+"].fileSize",AttachmentList.get(i).getFileSize()); -} - -HttpHeaders headers = new HttpHeaders(); -headers.setContentType(MediaType.MULTIPART_FORM_DATA); -HttpEntity> httpEntity = new HttpEntity<>(params, headers); -``` \ No newline at end of file diff --git a/src/main/doc/学习笔记/常用Linux命令.md b/src/main/doc/学习笔记/常用Linux命令.md deleted file mode 100644 index c857732..0000000 --- a/src/main/doc/学习笔记/常用Linux命令.md +++ /dev/null @@ -1,182 +0,0 @@ -### 常用Linux命令 -```shell -#jar包启动 -java -jar xxx.jar -nohup java -jar xxx.jar >server.log 2>$1 $ -nohup java -jar -Xmx2g -Xms2g xxx.jar > logs/serverLog.log 2>&1 & - -#查询所有端口 -netstat -tuln -#根据进程号查询端口 -netstat -nlp | grep pid -#根据端口号查进程号 -netstat -nlp | grep 端口号 -#查询进程pid -ps -ef | grep -netstat -anp | grep PID - -#文件上传 -rz -#文件下载 -sz - -#快速查询进程号 -pgrep -f xxxx -``` -```shell -#安装jdk -#在/opt文件夹下下载并解压jdk文件 -#下载地址: -https://www.oracle.com/java/technologies/downloads/ -#解压: -tar -zxvf jdk-19_linux-x64_bin.tar.gz -#设置环境变量: -vim ~/.bash_profile -#jdk -export JAVA_HOME=/opt/jdk/jdk-19.0.1 -export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin -#保存并推出 -:wq -#使环境变量生效 -source ~/.bash_profile - -#测试 / java -version -``` -```shell -#压缩、解压 -tar -cvf fille.tar file(可以多个文件空格隔开)-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) -tar -xvf file.tar 解包到当前目录 -tar -xvf file.tar -C dir 把文件解压到指定目录中 -zip 压缩后文件名 源文件 -zip -r 压缩后目录名 原目录 -unzip file.zip -d dir 解压到指定目录 -gunzip file1.gz 解压 file1.gz -gzip file1 压缩 file1 -gzip -9 file 最大程度压缩文件 - -#示例: -01-.tar格式 -解包: tar xvf FileName.tar -打包: tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) -02-.gz格式 -解压1: gunzip FileName.gz -解压2: gzip -d FileName.gz -压 缩: gzip FileName - -03-.tar.gz格式 -解压: tar zxvf FileName.tar.gz -压缩: tar zcvf FileName.tar.gz DirName - -04-.bz2格式 -解压1: bzip2 -d FileName.bz2 -解压2: bunzip2 FileName.bz2 -压 缩: bzip2 -z FileName - -05-.tar.bz2格式 -解压: tar jxvf FileName.tar.bz2 -压缩: tar jcvf FileName.tar.bz2 DirName - -06-.bz格式 -解压1: bzip2 -d FileName.bz -解压2: bunzip2 FileName.bz - -07-.tar.bz格式 -解压: tar jxvf FileName.tar.bz - -08-.Z格式 -解压: uncompress FileName.Z -压缩: compress FileName - -09-.tar.Z格式 -解压: tar Zxvf FileName.tar.Z -压缩: tar Zcvf FileName.tar.Z DirName - -10-.tgz格式 -解压: tar zxvf FileName.tgz - -11-.tar.tgz格式 -解压: tar zxvf FileName.tar.tgz -压缩: tar zcvf FileName.tar.tgz FileName - -12-.zip格式 -解压: unzip FileName.zip -压缩: zip FileName.zip DirName - -13-.lha格式 -解压: lha -e FileName.lha -压缩: lha -a FileName.lha FileName - -14-.rar格式 -解压: rar a FileName.rar -压缩: rar e FileName.rar -rar请到:下载! -解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量 -指定的目录也行): cp rar_static /usr/bin/rar -``` -```shell -#文件、目录 -rm -f file 强制删除文件,不提示 -rm -r dir 递归删除其文件和文件夹 -rm -rf dir 强制删除文件夹及其内容,不提示 -mv dir/file dir 将文件或者文件夹移动到指定目录 -mv -t dir file 将文件或者文件夹移动到指定目录 -mkdir dir dir2 创建两个文件夹 -mkdir -p /tmp/dir 创建多级目录 -cp file file1 将文件file复制一份file1 -cp -a file/dir dir 将文件或者文件夹复制到指定目录 -cd .. 返回上一级目录 -cd ../.. 返回上两级目录 -cd / 返回根目录 -ls 列举出当前目录中所有文件 -ls -a 列举出当前目录中所有文件,包括隐藏文件 -ls -l 显示文件的详细信息 -ls -lrt 按时时间排序显示文件 -pwd 显示当前路径 - -#网络相关 -ip add 显示当前ip地址 -ifdown eth0 禁用 ‘eth0’ 网络设备 -ifup eth0 启用 ‘eth0’ 网络设备 - -#系统相关 -su 用户名 切换用户登录 -shutdown -h now 关机 -shutdown -r now 重启 -reboot 重启 -``` -```shell -#Linux查找文件命令 -find / -name test.txt 在所有目录中查找名字为test.txt的文件 -find / -name ‘*.txt’ 在所有目录中查找后缀名为.txt的文件 -find . -name test.txt 在当前目录中查找名字为test.txt的文件 -find /etc -name '*srm*' 查找/etc文件夹下所有名字中包含srm的文件 -find / -amin -10 查找在系统中最后10分钟访问的文件 -find / -atime -2 查找在系统中最后48小时访问的文件 -find / -empty 查找在系统中为空的文件或者文件夹 -find / -group cat 查找在系统中属于 groupcat的文件 -find / -mmin -5 查找在系统中最后5分钟里修改过的文件 -find / -mtime -1 查找在系统中最后24小时里修改过的文件 -find / -nouser 查找在系统中属于作废用户的文件 -find / -user fred 查找在系统中属于FRED这个用户的文件 -``` -```shell -#查看历史操作命令: -history -#history记录文件: -more ~/.bash_history - -清除history历史命令记录: -#1.1.编辑history记录文件,删除部分不想被保存的历史命令。 -vim ~/.bash_history -#1.2.清除当前用户的history命令记录。 -history -c - -#2.1利用vim特性删除历史命令 -#使用vim打开一个文件 -vi test.txt -# 设置vim不记录命令,Vim会将命令历史记录,保存在viminfo文件中。 -:set history=0 -# 用vim的分屏功能打开命令记录文件.bash_history,编辑文件删除历史操作命令 -vsp ~/.bash_history -# 清楚保存.bash_history文件即可。 -```