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

相关文章
相关标签/搜索