SSM架構的搭建環境(Spring,SpringMVC,Mybatis)
使用工具:maven、idea、tomcat用的是8、jdk版本1.8
一、整個項目的結構:
使用者子產品流程
pom.xml -> web.xml -> db->model (此處是User,與資料庫中的字段名相同) -> UserMapper -> UserMapper.xml(這裡是用的mybatis映射,直接動态實作dao接口的實作類) -> UserService -> UserServiceImpl -> UserController,這就是一個大體流程,下面開始介紹子產品完成:
- 建立maven項目、按照自己的需要建立相關的檔案夾:
- maven中的pom.xml檔案添加依賴:
- 配置web.xml
- spring整合mybatis(dao層)的配置檔案:spring-dao.xml
- UserService層接口及實作類:UserService,UserServiceImpl
- Spring整合Service層的配置檔案:spring-service.xml
- mybatis-config.xml配置檔案
- web層的實作(controller層,springmvc):UserController
- Spring整合controller層的配置檔案:spring-web.xml
- JSP頁面:login.jsp,fail.jsp,anotherpage.jsp,success.jsp
以上這些操作參考博文:SSM搭建(整合)+使用者子產品(登入和登出)實作
二、接下來介紹如何使用mybatis自動生成代碼:
可以參考我之前的一篇:如何使用mybatis自動生成代碼:
1、配置pom.xml:
添加plugin:
<!-- 自動生成代碼插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--指定配置檔案的名稱,預設是 ${basedir}/src/main/resources/generatorConfig.xml-->
<configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile>
<!--指定該參數,則生成java檔案時,直接覆寫原來的檔案.預設是false,即會對生成的java檔案進行編号來标記不是相同的執行結果,由使用者來自行合并java檔案-->
<overwrite>true</overwrite>
<!--如果指定該參數,則會輸出執行過程-->
<verbose>true</verbose>
</configuration>
</plugin>
設定配置檔案的位置:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<!--設定mybatis-generator配置檔案位置--><mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xml</mybatis.generator.generatorConfig.xml>
<mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.properties</mybatis.generator.generatorConfig.properties>
</properties>
2、配置檔案generatorConfig.properties、generatorConfig.xml
generatorConfig.properties:
# 資料庫驅動jar 路徑
drive.class.path=E:/Java Web/maven/repositoryBus/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
jdbc.username=root
jdbc.password=
# 包路徑配置
model.package=com.gis.db.model
dao.package=com.gis.db.dao
xml.mapper.package=com.gis.db.dao
target.project=src/main
generatorConfig.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">
<!-- 配置Run As Maven build : Goals 參數 : mybatis-generator:generate -Dmybatis.generator.overwrite=true -->
<!-- 配置 tableName,使用 Run As Maven build 生成 dao model 層 -->
<generatorConfiguration>
<!-- 配置檔案路徑 -->
<properties url="${mybatis.generator.generatorConfig.properties}"/>
<!-- <properties resource="generatorConfig.properties"/>-->
<!--資料庫驅動包路徑 -->
<classPathEntry location="${drive.class.path}"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<!--關閉注釋 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--資料庫連接配接資訊 -->
<jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}"
password="${jdbc.password}">
</jdbcConnection>
<!--生成的model 包路徑 -->
<javaModelGenerator targetPackage="${model.package}" targetProject="${target.project}">
<property name="enableSubPackages" value="ture"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成xml mapper檔案 路徑 -->
<sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.project}">
<property name="enableSubPackages" value="ture"/>
</sqlMapGenerator>
<!-- 生成的Dao接口 的包路徑 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.project}">
<property name="enableSubPackages" value="ture"/>
</javaClientGenerator>
<!--對應資料庫表名 -->
<table tableName="user" domainObjectName="User" >
</table>
</context>
</generatorConfiguration>
3、使用mybatis自動生成代碼:
在Intellij IDEA添加一個“Run運作”選項,使用maven運作mybatis-generator-maven-plugin插件
點選 菜單run中Edit Configurations,會出現:
點選+号,選擇maven,會出現
在name和Commond line分别填上如上圖所示,apply和ok
最後點選generator,生成model,mapper,dao
源碼位址:需要請留言~