IntelliJ IDEA Maven Mybatis generator 自動生成程式碼 MAC系統
版本
系統:MAC系統
java:8.x
maven:3.x
Mybatis:3.4.5
風.fox
JDK 設定
Maven 設定
新建 IDEA Maven 專案
開啟IDEA,點選Create New Project
,在彈出的介面中選擇Maven
(左側選單列表),右側選擇好Project SDK
版本,這裡的版本是1.8,如果你沒有設定那麼可以點選New
按鈕重新設定JAVA JDK目錄。
選中Create from archetype
,
在下面的列表中選中org.apache.maven.archetypes:maven-archetype-webapp
Next
按鈕 (如圖), 在下一頁面中輸入,
GroupId: 輸入組織id,比如 foxwho.com
,此處不能是中文
ArtifactId:輸入專案名稱,比如 ssm
Version: 輸入版本號,可以直接回車,預設是1.0-SNAPSHOT
點選Next
按鈕, 本頁是設定Maven,已經設定好了,直接Next
,
本頁設定 專案名稱和專案路徑,選擇你要儲存的位置,點選Finish
.
建立 資料夾
main
下建立java
和test
資料夾
test
資料夾下建立java
資料夾
在webapp/WEB-INF
下建立statics
和views
資料夾
在statics
css
,js
,images
資料夾
IDEA 專案 目錄配置
選單
File
->Project Structure
彈出的對畫框中,左側Modules
選單
選中main
下的java
點選Sources
設定
選中test
下的java
點選Tests
設定
最後點選Apply
和OK
按鈕
建立包的路徑
選中main
下的java
資料夾,右擊彈出選單New
->Package
,輸入
com.foxwho.controller
再次選中 java
資料夾,右擊彈出選單New
->Package
,輸入
com.foxwho.dao
再次選中 java
New
->Package
,輸入
com.foxwho.service
再次選中 java
資料夾,右擊彈出選單New
->Package
,輸入
com.foxwho.pojo
資料庫
新建 資料庫名為ssm
,字元編碼UTF-8
,
CREATE DATABASE IF NOT EXISTS ssm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
建立表
CREATE TABLE `user` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL COMMENT '使用者名稱',
`time_add` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增時間',
PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
插入資料
insert into `ssm`.`user` ( `username`, `time_add`) values ( '測試', '2017-10-20 08:57:43');
pom.xml 配置
配置如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>foxwho.com</groupId>
<artifactId>ssm</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>ssm Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<!-- spring版本號 -->
<spring.version>5.0.0.RELEASE</spring.version>
<!-- mybatis版本號 -->
<mybatis.version>3.4.5</mybatis.version>
<!-- log4j日誌檔案管理包版本 -->
<slf4j.version>1.7.25</slf4j.version>
<log4j.version>2.9.1</log4j.version>
<!-- MyBatis Generator -->
<!-- Java介面和實體類 -->
<targetJavaProject>${basedir}/src/main/java</targetJavaProject>
<targetMapperPackage>com.foxwho.dao</targetMapperPackage>
<targetModelPackage>com.foxwho.pojo</targetModelPackage>
<!-- XML生成路徑 -->
<targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
<targetXMLPackage>mapper</targetXMLPackage>
<!-- 依賴版本 -->
<mapper.version>3.4.3</mapper.version>
<mysql.version>5.1.44</mysql.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!--mysql驅動包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- mybatis 自動生成包 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
<build>
<finalName>ssm</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<!--配置檔案的位置-->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
MyBatis generator 配置檔案
在resources
目錄下新建 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>
<properties resource="generator.properties"/>
<context id="Mysql" targetRuntime="tk.mybatis.mapper.generator.TkMyBatis3Impl" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="${mapper.plugin}">
<property name="mappers" value="${mapper.Mapper}"/>
</plugin>
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.connectionURL}"
userId="${jdbc.userId}"
password="${jdbc.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
<sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
<javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER" />
<table tableName="%" mapperName="{0}Dao">
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
設定生成程式碼所需的資料庫相關
在resources
目錄下新建 generator.properties
檔案,
內容如下
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/ssm
jdbc.userId=root
jdbc.password=root
#c3p0
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true
# 通用Mapper配置
mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper = tk.mybatis.mapper.common.Mapper
生成程式碼
內容區域右側Maven Projects
->mybatis-generator
->mybatis-generator:generate
雙擊 或 右擊 執行