Maven与SSM)
一、maven 项目管理工具
1.作用
自动化构建、依赖管理
2.核心概念
1)项目对象模型: Project Object model (POM)
maven工具将项目视为一个“对象”进行管理,在pom.xml中配置了项目对象的各种“配置/属性”,用于自动化处理
pom.xml中的配置信息
参考:pom中的配置标签
项目自身信息
生成项目文档用到的信息
文件头 <xml version= “” encoding=""> <project>
模型版本 <modelVersion>
项目坐标 <groupid>(公司名) <artifactid>(项目通用名) <version>(项目版本) <name>(项目名) <description>(文档描述) <URL>(从哪个网站可找到该项目)<packaging> 打包机制jar/war/pom… <developers>开发者信息 等等
项目运行依赖信息(依赖管理模型)
添加依赖 <dependencies>
添加本项目的本地仓库 <repositories>
运行环境信息
<build> <plugins> 添加插件,Tomcat/jdk等
一个最简单的pom.xml文件配置如下 :
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>heimaStudy</groupId>
<artifactId>day1207Study</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2)依赖管理模型
传统java项目
手动导入jar包并添加buildpath
项目文件体积大、开发效率低、资源不共享…
maven依赖管理
pom文件中添加dependency标签,联网根据标签自动导入jar包,代码中直接使用对应jar包的类和功能即可
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>8.2-504.jdbc4</version>
<scope>runtime</scope>
</dependency>
3)项目生命周期
有序的运行调用插件指定命令,完成清理、编译、运行、发布等
| 生命周期 | 插件(命令) | 工作内容 |
|---|---|---|
| 清理 | clean (mvn clean) | clean |
| default | compile(mvn compile) | 编译 |
| default | test(mvn test) | 测试 |
| default | package(mvn package) | 打包 |
| default | install(mvn install) | 安装 |
| default | deploy(mvn clean) | 部署/发布 |
| 站点 | site(mvn site) | 未知 |
每个环节向前包含,即执行某个命令,一定会先执行其前面的命令
3.创建一个maven项目
idea提供了maven骨架(即包含了 一个标准maven项目必有的大多数目录和xml文件 的项目框架)
基础流程
1.选择骨架/不选择骨架(创建一个空项目)

2. 填写并确认信息(公司名、项目名、项目放置位置、应用的setting.xml、本地仓库位置、…),一般next->finish 即可
3. 运行项目
直接选择下方命令或点击红框中的m自定义命令
自定义命令如:mvn tomcat7:run

依赖冲突/版本问题
-
依赖冲突:导入的jar包和运行时使用自带的jar包产生冲突
配置导入jar包时使用Scope标签指定作用域为provided,仅编译和测试时使用 -
tomcat版本与XXX不兼容问题
在plugin标签中配置添加正确的TomcatX插件
在运行时指定自定义命令 mvn tomcatX:run
二、mybatis 持久层工具
1.作用
是对jdbc的封装,使数据库操作更透明更灵活(不会严密的封装在DaoImlp中)
在项目中相当于一个插件(maven工程中通过配置plugin引入使用)
2. 核心概念
1) mapper
概念
将数据持久层中的SQL执行操作从方法中抽取出来,放到映射配置xml文件中;根据配置文件的映射关系执行方法并返回结果
应用过程
-
为数据库操作的Dao类提供映射配置文件(名称必须与Dao类名相同,路径必须与Dao路径一致)
通过映射配置文件中指定mapper标签的namespace,将Dao接口和xml文件关联 -
提供mybatis主配置文件 (名称位置随便,此处是sqlMapConfig.xml)
在主配置文件中记录所有映射配置文件的位置(使用mapper标签的resource) -
读取配置文件
通过mybatis提供的resources.getResourceAsStream加载输入流,指向主配置文件
加载到主配置文件中的数据库连接参数,以及所有mapper标签记录的映射配置文件位置 -
获取代理对象并调用数据库操作的方法
使用sqlSessionFactoryBuilder,以输入流为参数,根据加载到的数据库连接参数,获取 数据库连接工厂类对象,再获取SQLSession对象
通过sqlSession的getMapper方法,获取参数指定的UserDao接口的代理对象,并加载与接口全类名对应的映射配置文件UserDao.xml
调用代理对象的selectAllUsers方法,根据映射配置文件执行指定语句,并将查询结果封装成指定类型(根据指定resultType全类名,调用其无参构造函数和set方法) -
返回指定类型的结果


本文详细介绍了Maven作为项目管理工具的作用、核心概念,包括项目对象模型POM、依赖管理和项目生命周期。同时,讲解了如何创建Maven项目,解决依赖冲突和版本问题。接着,文章探讨了MyBatis持久层工具,阐述了其简化数据库操作和Mapper的核心概念。
815

被折叠的 条评论
为什么被折叠?



