一、简述
作为一个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为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
六、总结
整个项目的搭建及配置的过程中遇坑无数,各种百度找出问题,其中经常导致错误的反而是漏写一个字母或者是敲错一个字母,所以各位在项目搭建的过程一定要全神贯注,不要像我这样粗心大意。
介于本人的文笔功底太弱,所以不做过多的赘述。上述内容中如有问题请留言指正,相互学习。