1. 程式人生 > >IntelliJ IDEA Maven Mybatis generator 自動生成程式碼 MAC系統

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下建立javatest資料夾
test資料夾下建立java資料夾

webapp/WEB-INF下建立staticsviews資料夾
statics

資料夾下建立css,js,images資料夾

IDEA 專案 目錄配置

選單
File->Project Structure 彈出的對畫框中,左側Modules選單
選中main 下的java 點選Sources設定
選中test 下的java 點選Tests設定
最後點選ApplyOK按鈕
這裡寫圖片描述

建立包的路徑

選中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 雙擊 或 右擊 執行
這裡寫圖片描述