【AgileTC】_知识点积累
一、MySQL树形结构存储
- 项目中的树形结构都是以一个字段的形式存储在数据库中的,也就是一行数据中的一个字段来存储一整棵从根节点开始的树。数据类型就是json对象序列化成的字符串;
- 这种存储方式一般配合java中的fastjson框架或者jackson框架使用,这些框架封装了很多对json对象的操作方法。
二、springboot中不同application.yml配置文件之间的关系
原始application.yml文件中可以配置spring.profiles.active属性,用于指定还要用到的yml配置文件,如果原始配置文件中与指定配置文件配置了同一属性,则优先使用指定文件中的属性值。
比如此处application.yml配置如下
1
2
3spring:
profiles:
active: test则表示优先使用application-test.yml配置文件,再使用application.yml完成剩余配置;
在测试机上部署项目时使用命令
nohup java -jar case-server-1.0-SNAPSHOT.jar --spring.profiles.active=dev & tail -f nohup.out,则会使用application-dev.yml作为指定配置文件。
三、log配置文件的使用与日志查看
- 当log4j2.xml文件和log4j2-test.xml文件同时存在时,优先使用log4j2-test.xml文件作为日志的配置文件。
- 使用方法见浏览器收藏夹
四、Maven远程仓库
mvn dependency:tree命令可用于在maven项目中查看所有从远程仓库中注入的jar包之间的依赖关系;- 可以在maven文件夹的setting文件中查看maven项目引用的远程仓库地址,并在浏览器中进入该地址查看其中所能提供的jar包的版本;
- 将maven远程仓库设置为滴滴内部远程仓库:
- 解决方法:使用命令bash <(curl -s -S -L https://git.xiaojukeji.com/elevate/environment/raw/master/setup-scripts/maven_setup.sh)重新配置本机的maven的配置文件,输入滴滴员工的账号密码就可以将本机maven的远程仓库地址设置为滴滴内部远程仓库的地址;
- Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell;
- curl是一个利用URL语法在命令行下工作的文件传输工具,比如使用命令:curl http://curl.haxx.se,用这个命令可以获得http://curl.haxx.se指向的页面,同样,如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地。
五、Git代码管理
Merge remote-tracking branch 'origin/dev-jzy' into dev-jzy命令表示将远程仓库origin/dev-jzy上的改动拉取并合并到本地仓库dev-jzy中来。(一般适用场景:拉取了一个项目到本地仓库,在上面进行了一些修改,但是这个时候有其他人对远程仓库提交了修改,这时先将自己的修改提交到本地仓库,然后执行该命令可以将其他人提交的修改从远程仓库拉取到自己的本地仓库中,这样此时本地仓库中既有其他人的修改又有自己的修改。)- 修改Git的提交账户;
- git pull –rebase命令用于解决上传远程仓库时版本冲突的问题;
- 修改关联的远程仓库。
六、SQL语句
1.sql中的concat()函数
- concat函数用于拼接字符串,concat(“a”,”b”)返回”ab”;
- concat_ws()函数英语拼接带分隔符的字符串,第一个参数表示分隔符,concat_ws(“s”,”a”,”b”,”c”)返回”asbscs”。
2.sql中的distinct用于添加在字段前,排除字段重复值
- 直接用法
select distinct name from a表示从a表中找出所有name,重复的不多次显示; - 也可以表示并集使用
select distinct name,id from a表示从a表中找出所有name和id,多次重复的name+id不显示; - distinct最常用的用法是与count()函数结合使用,
select count(distinct name) from a表示计算去重后的name的数量。