项目创建Maven 是一个项目管理工具,提供了一套项目管理的配置文件,用于项目结构,依赖相关的管理,提供了非常多的插件能够帮助我们将项目构建成任意的格式。
-
点击新建项目,左侧选择 Maven
-
直接点下一步,填写好项目名称和路径
-
Maven 项目的三大坐标
①GroupId: 组织id,一般写域名倒写
②ArtifactId: 包(项目)id,一般与项目名称相同即可
③Version: 版本号
展开Artifact Coordinates即可修改:
注意:File --> Settings --> Maven 是否选择了自己安装的版本
- settings.xml 是 Maven 的配置文件,里面配置了仓库的地址
- Local repository 是在本地加载 jar 包,会自动将所需的所有 jar 包下载到本地
打开 Maven 项目,左侧文件列表结构如下:
- 项目名称
- src
- main:项目主要源码文件的存储位置
- java:存放 java 代码的地方
- resources:存放项目所需资源(配置文件)的地方
- test:项目测试源码文件的存储位置
- java:存放 java 代码的地方
- resources:存放项目所需资源(配置文件)的地方
- main:项目主要源码文件的存储位置
- target:存放项目输出的文件,项目的 jar 包,class 等,这个目录是每次编译或打包后自动生成的,这个目录是可以随意删除的
- pom.xml:项目结构/依赖配置文件
- src
文件右侧 Maven --> 项目名称 --> Lifecycle
-
clean:删除所有的输出文件(target)
-
compile:对当前项目进行编译,编译成功后输出到 target 目录
-
package:(包含 compile)编译完成后,会先自动的执行 test/java 目录下的所有单元测试,只有单元测试成功以后才会对项目进行打包
-
install:(包含 package)当项目打包以后,会将当前项目 target 中的 jar 包以及当前的 pom.xml 文件,会复制到本地仓库中去,在本地仓库的路径为三大坐标组成 {localRepository}comhanshumaven-jdbc1.0.0
-
deploy:(包含 install)负责将本地仓库中的 jar 与 pom 文件上传到远程仓库(私服仓库),一般需要先在 maven/conf/settings.xml 文件中先配置好
中配置用户名和密码,以及在 中配置 远程仓库地址
JDBC 是 Java 来访问数据库的一套统一的规范,可以理解为就是一套接口,具体的实现由数据库厂商来完成,当需要切换不同数据库时,只需要切换数据库实现的 jar 即可,这个 jar 一帮将其称之为数据库驱动。
新增操作4.0.0 com.hanshu maven-jdbc 1.0.0 8 8 mysql mysql-connector-java 5.1.49 junit junit 4.12 test
@Test
public void insert() throws Exception{
// 1.加载连接驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 获取连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "xxx");
// 3.编写 SQL 语句 && 执行 SQL 语句
String sql = "INSERT INTO t_user(id, name, age) VALUES(1, '土豆', 2)";
// 3.1 获取到 sql 语句对象
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
// 4.释放资源对象
stat.close();
conn.close();
}
更新操作
@Test
public void update() throws Exception{
// 1.加载连接驱动
Class.forName(driverClassName);
// 2. 获取连接对象
Connection conn = DriverManager.getConnection(url, username, password);
// 3.创建语句对象 && 执行 SQL 语句
Statement stat = conn.createStatement();
stat.executeUpdate("UPDATE t_user SET age = age + 1 WHERe id = 1");
// 4.释放资源对象
stat.close();
conn.close();
}
删除操作
@Test
public void delete() throws Exception{
// 1.加载连接驱动
Class.forName(driverClassName);
// 2. 获取连接对象
Connection conn = DriverManager.getConnection(url, username, password);
// 3.创建语句对象 && 执行 SQL 语句
Statement stat = conn.createStatement();
stat.executeUpdate("DELETE FROM t_user WHERe name = '土豆'");
// 4.释放资源对象
stat.close();
conn.close();
}
查询操作
查询单个
// 单个查找
@Test
public void selectOne() throws Exception {
// 需求:查询 id = 1 的用户信息
// SQL: SELECT id, name, age FROM t_user WHERe id = 1
// 1.加载数据库驱动
Class.forName(driverClassName);
// 2.获取连接对象
Connection conn = DriverManager.getConnection(url, username, password);
// 3.创建语句对象 && 执行 SQL 语句
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("SELECt id, name, age FROM t_user WHERe id = 1");
// 4.处理结果集
if (rs.next()) {
long id = rs.getLong("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id:" + id + ",name" + name + "age" + age);
}
// 5.释放资源
rs.close();
stat.close();
conn.close();
}
查询多个
// 多个查找
@Test
public void selectAll() throws Exception {
// 1.加载数据库驱动
Class.forName(driverClassName);
// 2.获取连接对象
Connection conn = DriverManager.getConnection(url, username, password);
// 3.创建语句对象 && 执行 SQL 语句
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("SELECT id, name, age FROM t_user");
// 4.处理结果集
while (rs.next()) {
long id = rs.getLong("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id:" + id + ",name:" + name + ",age:" + age);
}
// 5.释放资源
rs.close();
stat.close();
conn.close();
}



