Maven+SSM整合搭建(Spring+SpringMvc+Mybatis)

1、簡述

    做爲一個JAVA新手,雖然有一些開發的底子,可是在SSM框架的學習中也是步履艱難。俗話說好記性不如爛筆頭,在搭建好一個簡單的基於SSM框架的小項目後,作如下的整理,文中表達不清楚的地方,還望各位給予建議(學習階段借鑑雷老師的「SSM高級整合視頻教程」,由於本人對版權一事不太清楚,因此此處不在上連接了,有興趣的同窗能夠去找一下相關視頻)。html

    項目地址:https://gitee.com/soft_luotuo/SSM_Maven前端

2、相關工具/技術

  • IDE工具:eclipse
  • 項目依賴管理:Maven
  • 基礎框架:SSM(Spring+SpringMVC+Mybatis)
  • 數據庫:MySql
  • 前端框架:bootstrap
  • 逆向工程:Mybatis Generator
  • 分頁插件:pagehelper

3、開發環境

    3.1 系統環境

            win10 64位java

    3.2 JDK安裝

            JDK的下載根據本身的形同是64位仍是32位來選擇下載,本人電腦是64位的,因此選擇如圖3.2.1所標註的版本(下載地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html)。mysql

            

圖 3.2.1git

            下載完成後,雙擊exe文件,一直選擇next完成安裝,在安裝完成以後就是環境變量的配置,步驟以下:web

            1)計算機->右鍵->屬性->高級系統設置->高級->環境變量。ajax

            2) 在系統變量中選擇「新建」按鈕(如圖3.2.2),在彈出界面中,變量名:JAVA_HOME,變量值:C:\Program Files (x86)\Java\jdk1.8.0_144(這裏是個人JDK安裝路徑,各位根據本身的安裝狀況來設置)。spring

            圖 3.2.2sql

                3) 設置完成JAVA_HOME環境變量後,在環境變量中找到變量名:Path,點擊編輯->新建,增長:%JAVA_HOME%\bin(圖3.2.3)。數據庫

    圖 3.2.3

                4) 重複上述操做,新建變量名:CLASSPATH,變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

                5) 上述4個步驟設置完畢後,下面進行測試,驗證安裝是否成功。快捷鍵WIN+R,打開「運行」,輸入「cmd」,在彈出的DOS命令頁面輸入「java -version」命令,回車,出現以下圖3.2.4效果,即說明安裝JDK成功。

    圖 3.2.4

    3.3 Eclipse安裝

    JAVA開發使用的IDE工具也比較多,這裏我選用的Eclipse(下載地址:https://www.eclipse.org/downloads/),這裏值得注意的是對於新手必定要下載正確的JAVA J2EE版本,錯誤的版本會在搭建項目中出現的異常狀況摸不着頭腦,下載完成後,若是不須要修改安裝路徑,一路next到底便可。

            安裝完成後,打開Eclipse,選擇導航欄Window->Preference,彈出頁面找到Java->Installed JREs選項,點擊Add按鈕,找到JRE安裝目錄,選擇安裝的JDK文件(圖3.3.1)。

圖 3.3.1

    3.4 Tomcat安裝

        我這裏選擇的是Tomcat7.0的版本,你們能夠根據本身狀況選擇不一樣的版本(下載地址:http://tomcat.apache.org/download-70.cgi),進入下載頁面,選擇Core下的符合本身的版本,如圖3.4.1是我下載的版本。

圖 3.4.1

            打開Eclipse中的Window->preference,選擇Server選項下的Runtime Environments選項,點擊Add按鈕添加下載好的本地的Tomcat文件(圖3.4.2),至此Tomcat設置完畢。

圖 3.4.2

    3.5 Maven安裝

           我這裏下載的是Maven-3.5.2版本(下載地址:https://maven.apache.org/download.cgi),你們可根據本身的狀況選擇其餘版本下載。下載後解壓到方便記憶的路徑,下面開始配置環境變量。

         1) 計算機->右鍵->屬性->高級系統設置->環境變量->"系統變量"下"新建「按鈕。

         2) 變量名:MAVEN_HOME,變量值:D:\Java_Tools\apache-maven-3.5.2-bin\apache-maven-3.5.2。

         3) 選擇「系統變量」下「Path」->編輯,加入:%MAVEN_HOME%\bin。

            設置完成後快捷鍵WIN+R打開「運行」,輸入「cmd」打開DOS命令行頁面,輸入:mvn -version命令,回車,出現如圖3.5.1效果,說明Maven環境配置成功。

圖 3.5.1

    3.6 Maven數據倉庫設置

            Maven數據倉庫分爲:本地倉庫(當前用戶根目錄.m2\repository下),遠程倉庫(包含:中央倉庫(https://repo.maven.apache.org/maven2)、私服、其餘公共倉庫(阿里雲、開源中國等))。當咱們引用jar包的時候,Maven會先從本地倉庫尋找所需jar包,若是本地倉庫中不存在,Maven將會去遠程地址下載所需jar包(由於外網地址訪問可能受限,這裏推薦使用其餘公共倉庫),下面進行相關配置。

            1)打開maven的安裝目錄(例如:D:\Java_Tools\apache-maven-3.5.2-bin\apache-maven-3.5.2\conf)中的settings.xml文件,修改本地倉庫位置到D:\Java_Tools\.m2\repository目錄中(注意:Maven安裝後默認的本地倉庫是用戶工做目錄下的「.m2/repository「目錄,如:C:\Users\Administrator\.m2\repository,由於這個目錄中的文件可能會愈來愈多,爲了節省C盤空間,建議本身新建一個單獨目錄保存本地倉庫數據),如圖3.6.1。

<!-- 修改本地倉庫位置 -->
<localRepository>D:/Java_Tools/.m2/repository</localRepository>

圖 3.6.1

            2)打開settings.xml,修改mirror鏡像信息,如圖3.6.2。

<mirror>
   <id>alimaven</id>
   <mirrorOf>aliyun maven</mirrorOf>
   <name>Central</name>
   <url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</mirror>

圖 3.6.2

            4)爲了防止建立的項目中出現一些異常,下面在Settings.xml中配置maven工程的jdk版本是1.8,如圖3.6.3。

 

<profile>
      <id>jdk-1.8</id>
      <activation>
        <jdk>1.8</jdk>
		<activeByDefault>true</activeByDefault>
      </activation>
      <properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
	  </properties>
</profile>

圖 3.6.3

            4) 打開Eclipse->window->preferences->Maven->Installations,點擊Add添加下載後解壓的Maven安裝包的位置,勾選新增的Maven版本(如圖3.6.4)。

圖 3.6.4

            4) 打開Eclipse->window->preferences->Maven->User Settings,設置settings.xml的路徑(如圖3.6.5)。

圖 3.6.4

            5)配置Maven完成後,查看當前用戶目錄下是否存在.m2目錄(C:\Users\Administrator\.m2),若是不存在,是由於沒有執行任何Maven相關的命令,使用任一Maven相關命令後便可出現.m2目錄,例如:cmd下執行mvn help:system命令,執行完畢後會發現.m2文件夾已經產生。

4、項目的建立

              在3.5和3.6節對Maven環境及數據倉庫配置完畢後,下面來建立Maven項目。

              1) 打開Eclipse->Project Explorer->右鍵->New->Other->Maven->Maven Project(圖4.1.1),點擊Next按鈕。

圖 4.1.1

              2) 在圖4.1.2中,建立一個Maven工程,點擊Next按鈕。

圖 4.1.2

              3) 在圖4.1.3中,按照本身的狀況設置Group Id,Artifct Id,Packaging,點擊Finish按鈕,完成項目的新建(上述三個名詞的具體含義,各位自行查找)。

圖 4.1.3

              4) 選擇maven-archetype-webapp,點擊next,如圖4.1.4。

圖 4.1.4

              5)下圖4.1.5中GroupId爲項目的基本的包名,Artifact Id爲項目的名稱,Packaging爲打包方式,點擊Finish完成項目的建立。

圖 4.1.5

              6)項目建立完畢後,Eclipse會根據Settings.xml文件中的鏡像倉庫地址去查找並下載所需的jar包到本地倉庫(D:\java_tools\.m2\repository)中,同時完善項目的總體目錄架構,如圖4.1.6。

圖 4.1.6

              7)工程建立完成後,因爲默認的servlet版本比較低,因此進行版本的修改,否則可能會提示「Cannot change version of project facet Dynamic web module to 2.3」的錯誤提示,在當前項目上右鍵->properties->Project Facets,按照本身的須要修改配置,如圖4.1.7和圖4.1.8。

圖 4.1.7

圖 4.1.8

                8)修改完成後,若是web.xml提示錯誤,建議刪除web.xml,去掉上圖中Dynamic Web Module的勾選,點擊Apply按鈕,而後再次勾選Dynamic Web Module選擇適合版本,點擊Apply按鈕,這是會出現如圖提示,點擊圖4.1.9標記內容。

圖 4.1.9

                9)彈出頁面中按下圖4.1.10操做,而後保存修改便可。

圖 4.1.10

                10)完成後,運行項目正常顯示網頁內容,說明工程建立成功。

5、項目配置

        5.1 Spring插件配置

                下載Spring IDE插件用於web.xml智能提示使用(下載地址:http://spring.io/tools/sts/all),根據本身Eclipse的版本選擇下載,如圖5.1.1。

圖 5.1.1

                打開Eclipse->Help->Install New Software,點擊Add,添加已下在的本地Spring IDE文件,點擊OK,如圖5.1.2。

圖 5.1.2

                選擇下圖中的文件,去掉最下面複選框的勾選(這個設置會聯網更新,由於Spring IDE已下載到本地,故這裏不須要聯網處理),進行安裝,如圖5.1..3。

圖 5.1..3

        5.2 pom.xml中引入相關jar包

                包含內容(配置地址:https://mvnrepository.com/):          

                ●  Spring

                ●  Spring mvc

                ●  Mybatis

                ●  Mybatis逆向工程包

                ●  數據庫鏈接、驅動包

                ●  其餘(jstl、junit、servlet-api)   

<dependencies>

		<!-- spring mvc引用 -->
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>5.0.0.RELEASE</version>
		</dependency>

		<!-- spring jdbc 事務控制 -->
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>5.0.0.RELEASE</version>
		</dependency>

		<!-- spring aspect引入 提供對aspectj的支持,以即可以方便的將面向切面的功能集成進ide中 -->
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>5.0.0.RELEASE</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.4.4</version>
		</dependency>

		<!-- 引入mybatis整合spring的適配包 -->
		<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.3.1</version>
		</dependency>

		<!-- 引入數據鏈接池包 -->
		<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
		<dependency>
			<groupId>com.mchange</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.5.2</version>
		</dependency>

		<!-- 引入Mysql驅動 -->
		<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.44</version>
		</dependency>

		<!-- mybatis逆向工程包()做用生產對應的bean以及mapper等內容) 即代碼生成器 -->
		<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.5</version>
		</dependency>

		<!-- jstl -->
		<!-- https://mvnrepository.com/artifact/jstl/jstl -->
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

		<!-- servlet-api -->
		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>

		<!-- 引入單元測試包 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
   </dependencies>

        5.3 配置web.xml

        注意:Spring mvc對於的xml配置文件,例如:applicationContext.xml中若是報錯提示:「cvc-elt.1: 找不到元素 'beans' 的聲明」,檢查是否缺乏「xmlns="http://www.springframework.org/schema/beans"」內容,添加上便可解決。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">

	<!-- 設置spring配置文件的位置 -->
	<!-- needed for ContextLoaderListener -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<!-- 指定applicationContext.xml爲spring的配置文件 -->
		<!-- maven構建項目的時候classpath指的是resources文件夾位置 -->
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	<!-- 監聽器:監聽上面配置文件部署在哪 (學習地址:http://blog.csdn.net/ysughw/article/details/8992322) -->
	<!-- Bootstraps the root web application context before servlet initialization -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- springmvc的前端控制器,攔截全部請求,負責職責分派(學習地址:http://jinnianshilongnian.iteye.com/blog/1602617) -->
	<!-- The front controller of this Spring Web application, responsible for 
		handling all application requests -->
	<servlet>
		<!--servlet-name加上"-servlet"爲springmvc的配置文件 -->
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<!-- Map all requests to the DispatcherServlet for handling -->
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<!-- /表示攔截全部請求 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- 字符編碼過濾器(注意字符編碼過濾器必定要放到全部過濾器以前設置) -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
		<!-- 強制設置請求編碼格式爲上面設置的utf-8 -->
		<init-param>
			<param-name>forceRequestEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
		<!-- 強制設置相應編碼格式爲上面設置的utf-8 -->
		<init-param>
			<param-name>forceResponseEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 使用Rest風格的URI,將頁面普通的post請求轉爲指定的delete或put請求 -->
	<filter>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>HiddenHttpMethodFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

        5.4 配置SpringMVC的dispatcherServlet-servlet.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!--springmvc的配置文件,包含網站跳轉邏輯的控制及配置 -->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

	<!-- 設置spring-mvc只掃描Controll控制器。若是use-default-filters設置爲true,則spring會掃描base-pack包或者其中子包的@Controller,@Service,@Componet等類,而後把掃描到的這些類註冊爲bean類。若是use-default-filters設置爲false,context:include-filter的expression設置爲Controller後,只會掃描@Controler類,而後註冊爲bean類。(學習地址:http://blog.csdn.net/chunqiuwei/article/details/16115135) 
    -->
	<context:component-scan base-package="com.maven.ssm"
		use-default-filters="false">
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

	<!-- 配置視圖解析器,方便頁面返回 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

	<!-- 兩個標準配置 -->
	<!-- 將spring mvc不能處理的請求交給tomcat -->
	<mvc:default-servlet-handler />
	<!-- 能支持springmvc更高級的一些功能 ,例如JSR303校驗,快捷的ajax請求,映射動態請求等 -->
	<mvc:annotation-driven />
</beans>

        5.5 配置Spring的配置文件applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- spring的配置文件,這裏主要配置和業務邏輯相關的內容 -->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

	<!-- 業務邏輯組件掃描,這裏除了springmvc對應的controller以外的其餘組件都須要 -->
	<context:component-scan base-package="com.maven.ssm">
		<context:exclude-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

	<!-- 數據源鏈接配置 -->
	<!-- 添加dbconfig.properties文件,設置各個配置節點的值 -->
	<context:property-placeholder location="classpath:dbconfig.properties" />
	<!-- 具體鏈接配置和值的對應關係 -->
	<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
		<property name="driverClass" value="${jdbc.driverClass}"></property>
		<property name="user" value="${jdbc.user}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>

	<!-- 配置和mybatis的整合 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- mybaits的全局配置文件 -->
		<property name="configuration" value="classpath:mybatis-config.xml"></property>
		<!-- 指定數據庫的數據源 -->
		<property name="dataSource" ref="pooledDataSource"></property>
		<!-- 指定mybatis,mapper文件的位置 -->
		<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
	</bean>

	<!-- 配 置掃描器,將mybatis接口的實現加入到ioc容器中 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!--掃描全部dao接口的實現,加入到ioc容器中 -->
		<property name="basePackage" value="com.maven.ssm.dao"></property>
	</bean>

	<!-- 事務控制的配置 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<!-- 控制數據源 -->
		<property name="dataSource" ref="pooledDataSource"></property>
	</bean>

	<!-- 開啓基於註釋的事務,使用xml配置形式的事務(推薦使用配置的方式) -->
	<aop:config>
		<!-- 切入表達式(全部返回值類型的service包下或者子包下的全部類中任意多的參數的方法均可以切入) -->
		<aop:pointcut expression="execution(* com.maven.ssm.service..*(..))"
			id="txPoint" />
		<!-- 指定事務加強的規則 -->
		<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint" />
	</aop:config>

	<!-- 配置事務加強,事務如何切入 -->
	<tx:advice id="txAdvice">
		<tx:attributes>
			<!-- 表示全部方法都是事務方法 -->
			<tx:method name="*" />
			<!-- 以get開始的方法都是事務方法 -->
			<tx:method name="get" read-only="true" />
		</tx:attributes>
	</tx:advice>

</beans>

        5.6 數據庫鏈接配置文件dbconfig.properties

jdbc.jdbcUrl=jdbc:mysql://localhost:3306/ssm_test
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=123456

        5.7 Mybatis的全局配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"></setting>
	</settings>
	<typeAliases>
		<package name="com.manve.ssm.bean"/>
	</typeAliases>
</configuration>

        5.8 Mybatis的逆向工程配置

                向pom.xml文件中加入如下代碼,配置mybatis-generator的jar包(注意:上面的pom.xml文件配置中已添加)。

<!-- mybatis逆向工程包()做用生產對應的bean以及mapper等內容) 即代碼生成器 -->
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.5</version>
		</dependency>

        5.9 逆向工程配置文件(地址:http://www.mybatis.org/generator/)

               1) 在項目下建立mbg.xml配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
	<properties resource="dbconfig.properties" />
	<context id="DB2Tables" targetRuntime="MyBatis3">
		<commentGenerator>
			<property name="suppressAllComments" value="true" />
		</commentGenerator>

		<jdbcConnection driverClass="${jdbc.driverClass}"
			connectionURL="${jdbc.jdbcUrl}" userId="${jdbc.user}"
			password="${jdbc.password}">
		</jdbcConnection>

		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		<!-- 指定bean生成位置 -->
		<javaModelGenerator targetPackage="com.maven.ssm.bean"
			targetProject=".\src\main\java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
		<!-- 指定sql映射文件的生成位置 -->
		<sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>
		<!-- 指定dao接口的生成位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.maven.ssm.dao" targetProject=".\src\main\java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>
		<!-- 指定每一個數據庫表的生成策略 -->
		<table tableName="tbl_emp" domainObjectName="Employee">
		</table>
		<table tableName="tbl_dept" omainObjectName="Department">
		</table>
	</context>
</generatorConfiguration>

            2) 在com.maven.ssm.test包下建立java測試類MBGTest.java文件,運行生成對應逆向工程設置的文件。

package com.maven.ssm.test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.*;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

public class MBGTest {
	public static void main(String[] args) throws Exception {
		List<String> warnings = new ArrayList<String>();
		boolean overwrite = true;
		File configFile = new File("mbg.xml");
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(configFile);
		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
		myBatisGenerator.generate(null);
	}
}

        3) 配置完成最終項目框架,如圖5.9.1

        

圖 5.9.1

6、總結

        整個項目的搭建及配置的過程當中遇坑無數,各類百度找出問題,其中常常致使錯誤的反而是漏寫一個字母或者是敲錯一個字母,因此各位在項目搭建的過程必定要全神貫注,不要像我這樣粗枝大葉。

        介於本人的文筆功底太弱,因此不作過多的贅述。上述內容中若有問題請留言指正,相互學習。

相關文章
相關標籤/搜索