2020-2-22
Maven 的两个精典作用
Maven 的依赖管理
管理jar包,利用坐标,公司或组织名、项目名、版本号。
构建: 指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个 过程称为构建.
指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。
仓库:
- 本地仓库
- 远程仓库
- 中央仓库
全局 setting 与用户 setting
maven 仓库地址、私服等配置信息需要在 setting.xml 文件中配置,分为全局配置和用户配置。
在 maven 安装目录下的有 conf/setting.xml 文件,此 setting.xml 文件用于 maven 的所有 project
项目,它作为 maven 的全局配置。
如需要个性配置则需要在用户配置中设置,用户配置的 setting.xml 文件默认的位置在:${user.dir}
/.m2/settings.xml 目录中,${user.dir} 指 windows 中的用户目录。
Maven 常用命令
命令 作用
mvn compile compile 是 maven 工程的编译命令,
mvn test test 是 maven 工程的测试命令 ,会执行 src/test/java 下的单元测试类。
clean clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。
package package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war 包。
install install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。
Maven 指令的生命周期
这三套生命周期分别是:
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle 生成项目报告,站点,发布站点。
坐标的来源方式
依赖范围
- compile:编译范围,指 A 在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在 编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
- provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依 赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。
- runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc 的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
- test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用, 比如:junit。由于运行时不需要所以 test范围依赖不会被打包。
依赖范围由强到弱的顺序是:compile>provided>runtime>test
设置 jdk 编译版本
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
Mysql
查询当前正在使用的数据库名称
* select database();
复制表:
create table 表名 like 被复制的表名;
查询表结构
desc 表名;
U(Update):修改
1. 修改表名
alter table 表名 rename to 新的表名;
2. 修改表的字符集
alter table 表名 character set 字符集名称;
3. 添加一列
alter table 表名 add 列名 数据类型;
4. 修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
5. 删除列
alter table 表名 drop 列名;
如果要删除所有记录
1. delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
2. TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
-- 查看某个数据库的定义信息
show create database db3;
show create database db1;
常用的数据类型
数据类型 详细说明
int(integer) 整型:整数类型(占 32 位二进制)
float 单精度浮点数,占 4 个字节
double 双精度浮点数,占 8 个字节
time 表示时间类型
date 表示日期类型
datetime 同时可以表示日期和时间类型
char(m) 固定长度的字符串,无论使用几个字符都占满全部,M 为 0~255 之间的整数
varchar(m) 可变长度的字符串,使用几个字符就占用几个,M 为 0~65
text 允许长度 0~65535 字节
XML
组成部分:
1. 文档声明
1. 格式:<?xml 属性列表 ?>
2. 属性列表:
* version:版本号,必须的属性
* encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
* standalone:是否独立
* 取值:
* yes:不依赖其他文件
* no:依赖其他文件
2. 指令(了解):结合css的
* <?xml-stylesheet type="text/css" href="a.css" ?>
3. 标签:标签名称自定义的
* 规则:
* 名称可以包含字母、数字以及其他的字符
* 名称不能以数字或者标点符号开始
* 名称不能以字母 xml(或者 XML、Xml 等等)开始
* 名称不能包含空格
4. 属性:
id属性值唯一
5. 文本:
* CDATA区:在该区域中的数据会被原样展示
* 格式: <![CDATA[ 数据 ]]>
约束:
1. DTD:一种简单的约束技术
2. Schema:一种复杂的约束技术
Document
Elements
Element
JXDocument jxDocument = new JXDocument(document);
List<JXNode> list = jxDocument.selN("//student");
System.out.println(list.size());
List<JXNode> list1 = jxDocument.selN("//student/name[@id]");
List<JXNode> list2 = jxDocument.selN("//student/id[@id='sds']");