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

一、简述

    作为一个JAVA新手,虽然有一些开发的底子,但是在SSM框架的学习中也是步履艰难。俗话说好记性不如烂笔头,在搭建好一个简单的基于SSM框架的小项目后,做以下的整理,文中表达不清楚的地方,还望各位给予建议(学习阶段借鉴雷老师的“SSM高级整合视频教程”,因为本人对版权一事不太清楚,所以此处不在上链接了,有兴趣的同学可以去找一下相关视频)。

    项目地址:https://gitee.com/soft_luotuo/SSM_Maven

二、相关工具/技术

  • IDE工具:eclipse
  • 项目依赖管理:Maven
  • 基础框架:SSM(Spring+SpringMVC+Mybatis)
  • 数据库:MySql
  • 前端框架:bootstrap
  • 逆向工程:Mybatis Generator
  • 分页插件:pagehelper

三、开发环境

    3.1 系统环境

            win10 64位

    3.2 JDK安装

            JDK的下载根据自己的形同是64位还是32位来选择下载,本人电脑是64位的,所以选择如图3.2.1所标注的版本(下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html)。

            

图 3.2.1

            下载完成后,双击exe文件,一直选择next完成安装,在安装完成之后就是环境变量的配置,步骤如下:

            1)计算机->右键->属性->高级系统设置->高级->环境变量。

            2) 在系统变量中选择“新建”按钮(如图3.2.2),在弹出界面中,变量名:JAVA_HOME,变量值:C:\Program Files (x86)\Java\jdk1.8.0_144(这里是我的JDK安装路径,各位根据自己的安装情况来设置)。

            图 3.2.2

                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文件夹已经产生。

四、项目的创建

              在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.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为springmvc的配置文件 -->
		<!-- 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只扫描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

六、总结

        整个项目的搭建及配置的过程中遇坑无数,各种百度找出问题,其中经常导致错误的反而是漏写一个字母或者是敲错一个字母,所以各位在项目搭建的过程一定要全神贯注,不要像我这样粗心大意。

        介于本人的文笔功底太弱,所以不做过多的赘述。上述内容中如有问题请留言指正,相互学习。


            

            

    

    

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页