彩笔在springboot里集成mybatis-generator

项目工程跟前几篇的

第一步 在pom.xml 里最后面<build>节点内引入

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.11</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.3.2</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

第二步 resources下新建generatorConfig.xml 来配置自动生成的路径等等 springboot会自动识别这个路径下这个文件 如果没特殊设置的话

<?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="mybatisGeneratorinit.properties"/>
    <!-- mysql驱动的位置 -->
    <!--<classPathEntry location="C:\Users\admin\.m2\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar" />-->
    <!-- 一个数据库一个context -->
    <!--defaultModelType="flat" 大数据字段,不分表 -->
    <context id="Tables" targetRuntime="MyBatis3">

        <!-- 注释 -->
        <commentGenerator>
            <!-- 是否生成注释代时间戳 -->
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- JDBC连接 -->
        <jdbcConnection
                driverClass="${jdbc_driver}"
                connectionURL="${jdbc_url}"
                userId="${jdbc_user}"
                password="${jdbc_password}"/>

        <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
         NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 生成实体类地址 指定javaBean生成的位置-->
        <javaModelGenerator targetPackage="com.example.demo.bean" targetProject="src/main/java">
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </javaModelGenerator>

        <!-- 生成mapper xml文件 制定sql映射文件的生成位置-->
        <sqlMapGenerator targetPackage="/" targetProject="src/main/resources/mapping">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- 生成mapper xml对应Client 也就是接口dao-->
        <javaClientGenerator targetPackage="com.example.demo.Mapper" targetProject="src/main/java"
                             type="XMLMAPPER">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>


        <!-- 配置表信息 -->
        <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample
            是否生成 example类 -->

        <table tableName="sex"
               domainObjectName="Sex"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"
        >
            <generatedKey column="id" sqlStatement="Mysql"/>
        </table>
        <table 。。。
        >
           。。。
        </table>
        
    </context>
</generatorConfiguration>

<properties resource="mybatisGeneratorinit.properties"/> 是作为数据库配置文件 在后面<jdbcConnection 引用有用到 如果不用外部配置管理直接写相关数据库配置也可以的

<javaModelGenerator targetPackage="生成实体类地址 指定javaBean生成的位置"  targetProject="src/main/java">   不解释

<sqlMapGenerator targetPackage="/" targetProject="src/main/resources/mapping 生成mapper xml文件 制定sql映射文件的生成位置">  不解释

<javaClientGenerator targetPackage="com.example.demo.Mapper 生成mapper xml对应接口dao" targetProject="src/main/java"  type="XMLMAPPER">  不解释

<table tableName="数据库表"  domainObjectName="生成的文件名称">

<generatedKey column="id" sqlStatement="Mysql"/> 表里主键名

第三步 resources下建 mybatisGeneratorinit.properties 

#Mybatis Generator configuration
#dao类和实体类的位置
project =src/main/java
#mapper文件的位置
resources=src/main/resources/mapping
#根据数据库中的表生成对应的pojo类、dao、mapper
jdbc_driver =com.mysql.cj.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
jdbc_user=root
jdbc_password=123456

根据自己数据库和项目结构对应修改 

第四步 生成对应配置

双击就能看到控制台打印 如果成功原先指定的目录生成了文件

 

我的resources/mapping生成的sql有地方会报错 所以我会把生成的sql语句都删了。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值