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']");
posted @ 2020-02-25 14:14  一起学编程  阅读(127)  评论(0编辑  收藏  举报