本文主要展示如何在intellij IDEA中通過maven構建springmvc+mybatis框架的開發環境。
需求:使用springmvc和mybatis完成商品列表查詢

第一步:整合dao層
mybatis和spring整合,通過spring管理mapper接口。 使用mapper的掃描器自動掃描mapper接口在spring中進行注冊。第二步:整合service層
通過spring管理service接口。 使用配置方式將service接口配置在spring配置文件中。 實現事務控制。第三步:整合springmvc
由於springmvc是spring的模塊,不需要整合。不同於《mybatis學習筆記(17)-spring和mybatis整合》中的示例demo,本文的整合采用maven構建。
如何創建使用maven構建的web應用可以參考前面的一篇《springmvc學習筆記(1)-框架原理和入門配置》
new->project->maven,建一個裸的maven工程,手動建webapp的目錄
在src/main下新建文件夾webapp
pom.xml文件
<code class="language-xml hljs "><!--{cke_protected}{C}%3C!%2D%2D%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%2D%2D%3E-->
<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>com.iot.learnssm</groupid>
<artifactid>learnssm-firstssm</artifactid>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceencoding>UTF-8</project.build.sourceencoding>
<!--{cke_protected}{C}%3C!%2D%2D%20jar%20%E7%89%88%E6%9C%AC%E8%AE%BE%E7%BD%AE%20%2D%2D%3E-->
<spring.version>4.2.4.RELEASE</spring.version>
</properties>
<dependencies>
<!--{cke_protected}{C}%3C!%2D%2D%20spring%E6%A1%86%E6%9E%B6%2D%2D%3E-->
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-webmvc</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-core</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-orm</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-aspects</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-test</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-jdbc</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
<version>5.1.38</version>
</dependency>
<dependency>
<groupid>org.mybatis</groupid>
<artifactid>mybatis</artifactid>
<version>3.3.1</version>
</dependency>
<dependency>
<groupid>org.mybatis</groupid>
<artifactid>mybatis-spring</artifactid>
<version>1.2.4</version>
</dependency>
<dependency>
<groupid>log4j</groupid>
<artifactid>log4j</artifactid>
<version>1.2.17</version>
</dependency>
<dependency>
<groupid>org.slf4j</groupid>
<artifactid>slf4j-api</artifactid>
<version>1.7.18</version>
</dependency>
<dependency>
<groupid>commons-dbcp</groupid>
<artifactid>commons-dbcp</artifactid>
<version>1.4</version>
</dependency>
<!--{cke_protected}{C}%3C!%2D%2D%20JSP%20tag%20%2D%2D%3E-->
<dependency>
<groupid>javax.servlet</groupid>
<artifactid>jstl</artifactid>
<version>1.2</version>
</dependency>
<dependency>
<groupid>taglibs</groupid>
<artifactid>standard</artifactid>
<version>1.1.2</version>
</dependency>
</dependencies>
</project></code>
這裡添加的依賴可能有多的,但總比少包好,我開始就是引少了依賴(springframework的依賴只引用了spring-mvc,連spring-core都沒引),導致報錯,以後會出一篇博客專門講這個系列筆記中debug相關問題。
在java目錄下建各個package,按照maven的明明習慣:
com.公司名.項目名.模塊名
這裡我的包為:
com.iot.learnssm.firstssm
包含幾個子包:
controller mapper po service項目結構如圖:

後面幾篇筆記會依次記錄mapper,service,controller各個部分的整合