Maven与SSM

Maven与SSM)

  • 一、maven 项目管理工具
    • 1.作用
    • 2.核心概念
      • 1)项目对象模型: Project Object model (POM)
          • 项目自身信息
        • 项目运行依赖信息(依赖管理模型)
        • 运行环境信息
      • 2)依赖管理模型
      • 3)项目生命周期
    • 3.创建一个maven项目
      • 基础流程
      • 依赖冲突/版本问题
  • 二、mybatis 持久层工具
    • 1.作用
    • 2. 核心概念
      • 1) mapper

一、maven 项目管理工具

1.作用

自动化构建、依赖管理

2.核心概念

1)项目对象模型: Project Object model (POM)

maven工具将项目视为一个“对象”进行管理,在pom.xml中配置了项目对象的各种“配置/属性”,用于自动化处理

pom.xml中的配置信息
参考:pom中的配置标签

项目自身信息

生成项目文档用到的信息

文件头
模型版本
项目坐标 (公司名) (项目通用名) (项目版本) (项目名) (文档描述) (从哪个网站可找到该项目) 打包机制jar/war/pom… 开发者信息 等等

项目运行依赖信息(依赖管理模型)

添加依赖
添加本项目的本地仓库

运行环境信息

添加插件,Tomcat/jdk等

一个最简单的pom.xml文件配置如下


<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.0modelVersion>

    <groupId>heimaStudygroupId>
    <artifactId>day1207StudyartifactId>
    <version>1.0-SNAPSHOTversion>
    <packaging>jarpackaging>

    <dependencies>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.37version>
        dependency>

        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.4.5version>
        dependency>

        <dependency>
            <groupId>log4jgroupId>
            <artifactId>log4jartifactId>
            <version>1.2.12version>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
            <scope>testscope>
        dependency>
    dependencies>

project>

2)依赖管理模型

传统java项目
手动导入jar包并添加buildpath
项目文件体积大、开发效率低、资源不共享…

maven依赖管理
pom文件中添加dependency标签,联网根据标签自动导入jar包,代码中直接使用对应jar包的类和功能即可

	
	postgresql
    postgresql
    8.2-504.jdbc4
    runtime
    

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.选择骨架/不选择骨架(创建一个空项目)
Maven与SSM_第1张图片
2. 填写并确认信息(公司名、项目名、项目放置位置、应用的setting.xml、本地仓库位置、…),一般next->finish 即可
3. 运行项目
直接选择下方命令或点击红框中的m自定义命令
自定义命令如:mvn tomcat7:run
Maven与SSM_第2张图片

依赖冲突/版本问题

  1. 依赖冲突:导入的jar包和运行时使用自带的jar包产生冲突
    配置导入jar包时使用Scope标签指定作用域为provided,仅编译和测试时使用

  2. tomcat版本与XXX不兼容问题
    在plugin标签中配置添加正确的TomcatX插件
    在运行时指定自定义命令 mvn tomcatX:run

二、mybatis 持久层工具

1.作用

是对jdbc的封装,使数据库操作更透明更灵活(不会严密的封装在DaoImlp中)
在项目中相当于一个插件(maven工程中通过配置plugin引入使用)

2. 核心概念

1) mapper

概念
将数据持久层中的SQL执行操作从方法中抽取出来,放到映射配置xml文件中;根据配置文件的映射关系执行方法并返回结果

应用过程

  1. 为数据库操作的Dao类提供映射配置文件(名称必须与Dao类名相同,路径必须与Dao路径一致
    通过映射配置文件中指定mapper标签的namespace,将Dao接口和xml文件关联

  2. 提供mybatis主配置文件 (名称位置随便,此处是sqlMapConfig.xml)
    在主配置文件中记录所有映射配置文件的位置(使用mapper标签的resource

  3. 读取配置文件
    通过mybatis提供的resources.getResourceAsStream加载输入流,指向主配置文件
    加载到主配置文件中的数据库连接参数,以及所有mapper标签记录的映射配置文件位置

  4. 获取代理对象并调用数据库操作的方法
    使用sqlSessionFactoryBuilder,以输入流为参数,根据加载到的数据库连接参数,获取 数据库连接工厂类对象,再获取SQLSession对象
    通过sqlSession的getMapper方法,获取参数指定的UserDao接口的代理对象,并加载与接口全类名对应的映射配置文件UserDao.xml
    调用代理对象的selectAllUsers方法,根据映射配置文件执行指定语句,并将查询结果封装成指定类型(根据指定resultType全类名,调用其无参构造函数和set方法)

  5. 返回指定类型的结果

Maven与SSM_第3张图片

你可能感兴趣的:(JAVA入门,SQL,框架)