2019/09/22日記:springboot集成mybatis逆向工程

pom.xml添加配置

......
<dependencies>
    ......
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-jdbc</artifactId>
	</dependency>
	<dependency>
		<groupId>org.mybatis.spring.boot</groupId>
		<artifactId>mybatis-spring-boot-starter</artifactId>
		<version>2.1.0</version>
	</dependency>
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.47</version>
		<scope>runtime</scope>
	</dependency>
    ......
</dependencies>

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<!--mybatis generator 插件-->
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.7</version>
				<dependencies>
					<dependency>
						<groupId>mysql</groupId>
						<artifactId>mysql-connector-java</artifactId>
						<version>5.1.47</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>
複製代碼

application.properties添加配置

#mybatis配置
mybatis.mapper-locations=mapper/*.xml
mybatis.type-aliases-package=com.fzx.hodgepodge.domain
複製代碼

resources目錄下新增db.properties(可選)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.1.128:3306/db_hodgepodge?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
複製代碼

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="db.properties"/>

    <!-- 指定數據庫鏈接驅動jar地址 -->
    <!-- <classPathEntry location="${generator.location}" />-->

    <!-- 一個數據庫一個context -->
    <context id="sqlserverTables">
        <!-- 生成的pojo,將implements Serializable -->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>

        <!-- 註釋 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" /><!-- 是否取消註釋 -->
            <!--<property name="suppressDate" value="true" />--><!-- 生成註釋是否帶時間戳 -->
        </commentGenerator>

        <!-- 數據庫連接URL、用戶名、密碼 -->
        <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}">
        </jdbcConnection>

        <!-- 類型轉換 -->
        <javaTypeResolver>
            <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer true,把JDBC DECIMAL 和 NUMERIC 類型解析爲java.math.BigDecimal -->
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 生成model模型,對應的包路徑,以及文件存放路徑(targetProject),targetProject能夠指定具體的路徑,如./src/main/java, 也能夠使用「MAVEN」來自動生成,這樣生成的代碼會在target/generatord-source目錄下 -->
        <javaModelGenerator targetPackage="com.fzx.hodgepodge.domain" targetProject="./src/main/java">
            <!-- 是否對model添加 構造函數 -->
            <property name="constructorBased" value="true"/>
            <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
            <property name="enableSubPackages" value="false" />
            <!-- 從數據庫返回的值被清理先後的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--對應的mapper.xml文件 -->
        <!--<sqlMapGenerator targetPackage="mapper" targetProject="./src/main/resources"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator>-->

        <!-- 對應的Mapper接口類文件 -->
        <!--<javaClientGenerator type="XMLMAPPER" targetPackage="com.fzx.hodgepodge.mapper" targetProject="./src/main/java"> <property name="enableSubPackages" value="false" /> </javaClientGenerator>-->


        <!-- 列出要生成代碼的全部表,這裏配置的是不生成Example文件 -->
        <!-- schema即爲數據庫名 tableName爲對應的數據庫表 domainObjectName是要生成的實體類 enable*ByExample 是否生成 example類 -->
        <table tableName="sys_role" domainObjectName="Role" schema="db_hodgepodge">
            <!--enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">-->
            <property name="useActualColumnNames" value="false" />
        </table>
    </context>
</generatorConfiguration>
複製代碼

啓動

效果

我只配置了生成model模型,須要生成Mapper接口類等其餘文件可參照上一步

數據庫截圖

生成的Role實體

package com.fzx.hodgepodge.domain;

import java.io.Serializable;

public class Role implements Serializable {
    private Integer roleId;

    private String roleName;

    private static final long serialVersionUID = 1L;

    public Role(Integer roleId, String roleName) {
        this.roleId = roleId;
        this.roleName = roleName;
    }

    public Role() {
        super();
    }

    public Integer getRoleId() {
        return roleId;
    }

    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName == null ? null : roleName.trim();
    }
}
複製代碼

項目名稱:hodgepodge (像大雜燴同樣,在項目中記錄個人學習和成長)php

項目訪問地址:fanzhengxu.cn/java

項目GitHub地址:github.com/fanzhengxu/…mysql

19年畢業小白一枚,後續會對項目進行不斷更新,感興趣的朋友能夠到個人GitHub點點星關注,期待各位大佬star、指點(磕頭~)git

相關文章
相關標籤/搜索