題記
最近忙於實習,轉眼2018年只剩下 一天,2019年即將來臨。
明年六月的畢設也到了該準備的階段,經過一些實踐和參考網上的博文,畢設將採用SSM作爲基礎框架。
本文兩個基礎知識點
- 基於SpringBoot 2.x搭建SSM框架
- 整合Mybatis-Generator代碼生成器
在IDEA2018下SpringBoot 2.x搭建SSM框架並整合mybaits代碼生成器
- new project -->spring initializr
- Maven Project
- 勾選web,mybaits,mysql,後面可在pom.xml文件中修改添加所需依賴
- 填寫項目基礎信息,這裏我新建名爲ssmApp項目
- 初始項目結構
- pom.xml中的mybatis依賴
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
- 建立如下包
- 在pom.xml中引入Mybatis-Generator依賴
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.6</version>
</dependency>
- 編寫
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">
<generatorConfiguration>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自動生成的註釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--數據庫連接的信息:驅動類、連接地址、用戶名、密碼 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false"
userId="root"
password="root">
</jdbcConnection>
<!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer,爲 true時把JDBC DECIMAL 和
NUMERIC 類型解析爲java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetProject:生成實體類的位置 -->
<javaModelGenerator targetPackage="com.gaolei.domain"
targetProject="src/main/java">
<!-- enableSubPackages:是否讓schema作爲包的後綴 -->
<property name="enableSubPackages" value="false"/>
<!-- 從數據庫返回的值被清理前後的空格 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetProject:mapper.xml映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<!-- enableSubPackages:是否讓schema作爲包的後綴 -->
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.gaolei.dao"
targetProject="src/main/java"
>
<!-- enableSubPackages:是否讓schema作爲包的後綴 -->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 指定數據庫表 -->
<table tableName="roles" domainObjectName="Roles" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<!-- 有些表的字段需要指定java類型
<table schema="" tableName="">
<columnOverride column="" javaType="" />
</table> -->
</context>
</generatorConfiguration>
- 編寫
GeneratorSqlmap.java
package com.gaolei.generator;
import org.apache.ibatis.io.Resources;
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;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class GeneratorSqlmap {
public void generator() throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
/*指定 逆向工程配置文件*/
String file = "generatorConfig.xml";
InputStream in = Resources.getResourceAsStream(file);
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(in);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
in.close();
}
public static void main(String[] args) throws Exception {
try {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
System.out.println("生成成功");
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 編寫
application.properties
配置文件
## 數據源配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&useUnicode=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
## Mybatis 配置
mybatis.typeAliasesPackage=com.gaolei.domain
mybatis.mapperLocations=classpath:mapper/*.xml
- 在啓動類中添加掃描
package com.gaolei;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
//mapper 接口類掃描包配置
@MapperScan ("com.gaolei.dao")
public class SsmdemoApplication {
public static void main(String[] args) {
SpringApplication.run(SsmdemoApplication.class, args);
}
}
-
生成代碼
- 編寫測試類
RolesRestController.java
- 訪問地址
http://localhost:8080/api/getRoles?id=1
使用Postman抓取數據信息: