Maven的核心是依赖管理(jar包管理)和一键构建
一键构建 实际就是利用Maven自带的插件来实现
依赖管理 通过配置依赖的仓库坐标来实现导入
——————————————————
作为一个初学Maven的程序员,如何写好配置文件pom.xml就成为了关键。
<dependencies>
<dependency>
<groupId>mysql</groupId> <!-- mysql的项目名称,类似包名-->
<artifactId>mysql-connector-java</artifactId> <!-- 模块名称 -->
<version>5.1.37</version> <!-- 当前项目版本号-->
</dependency>
<dependency>
<groupId>junit</groupId> <!-- junit的项目名称,类似包名-->
<artifactId>junit</artifactId> <!-- 模块名称 -->
<version>4.9</version> <!-- 当前项目版本号-->
</dependency>
</dependencies>
以上是本案例中在pom.xml里配置MySQL依赖的代码语句
ps : 中心仓库](https://mvnrepository.com/)提供了几乎所有的jar包资源,只需要打开对应的jar包依赖,复制里面的代码放进 里即可。
那么如何在Maven下实现查询数据库?
就拿这个表为例子
首先创建表对应的实体类
然后根据三层架构思想创建Dao层的接口与实现类
ItemsDao实现类的findAll()的方法实现:
public List<Items> findAll() throws SQLException, ClassNotFoundException {
List<Items> list = new ArrayList<Items>();
Connection connection = null;
PreparedStatement pst = null;
ResultSet rs = null;
//抓取异常
try {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取数据库连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/maven", "root", "abc");
//获取操作数据库的对象
pst = connection.prepareStatement("select * from items ");
//获取数据
rs = pst.executeQuery();
//通过while循环遍历输出全部数据,然后封装成为Items对象,添加到集合list对象
while (rs.next()) {
Items items = new Items();
items.setId(rs.getInt("id"));
items.setName(rs.getString("name"));
list.add(items);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//释放资源,但是需要对象存在的情况下才能释放,
//所以必须在在try...catch..外先创建其对象先,定义为null,确保不会报错
if(rs != null ) rs.close();
if(pst != null ) pst.close();
if(connection != null ) connection.close();
}
return list;
}
最后通过创建测试类,调用Dao层findAll方法,看输出的结果
————————————
这个案例比较简单,可以加深对Maven的理解,
顺便回顾JDBC的底层操作,
(注意:JDBC最重要的4要素,驱动、地址、账号、密码,缺一不可。)
最后给大家看看核心配置文件pom.xml里面的标签对应的内容:
<project> :文件的根节点
<modelversion> : 配置使用的对象模型版本
<groupId> : 项目名称,域名
<artifactId> :模块名称,子项目名或模块名称
<version> :产品的版本号 .
<packaging> :打包类型,一般有 jar、war、pom 等
<name> :项目的显示名,常用于 Maven 生成的文档。
<dependencies> :项目依赖构件配置,配置项目依赖构件的坐标
<description> :项目描述,常用于 Maven 生成的文档
<scope> :确定生效的范围(如provided,runtim,test...)
<build> :项目构建配置,配置编译、运行插件等。
<plugins>:在这里面配置插件
<plugin>:具体的插件信息
<configuration>:插件的配置信息(像Tomcat的端口号,编码等等)
<target>:全部内容都用JDK的xx版本
<source>:编译后是JDK的xx版本
<port> :端口号
...