springboot结合mybatis generator逆向工程自动生成代码

前言

最近开始学习mybatis,发现比起hibernate,mybatis在业务上用起来确实灵活很多,因为公司的orm框架是自己封装hibernate来做的,有时需要实现联表查询或者稍微复杂点的业务就显得很吃力,mybatis在这方面就显得比较有优势,很接近原生操作,毕竟是手写sql,并且mybatis有一个很实用的自动生成代码工具,那就是mybatis generator逆向工程,下面我来为大家介绍通过springboot中结合mybatis generator的方式来自动生成代码文件。

正文

首先用idea新建一个springboot项目,或者http://start.spring.io/ 上初始化一个项目下来,然后在pom.xml文件中加入generator插件配置以及相应的依赖。

<dependencies>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.28</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>
            <configuration>
                <!--configurationFile对应着generator配置文件的路径-->
                <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                <overwrite>true</overwrite>
                <verbose>true</verbose>
            </configuration>
        </plugin>
    </plugins>
</build>

配置完pom.xml后,需要在/src/main/resource下新建一个文件夹genarator,并且创建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>
    <context id="DB2Tables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/sell" userId="root" password="">
        </jdbcConnection>
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成实体类的包名和位置 ,targetPackage指的是包名,targetProject值得是路径位置-->
        <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="seller_info" domainObjectName="SellerInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>

配置的作用说明在注释中已经写得很清楚,到这里我们的配置就基本完成了,是不是很简单啊,接着就可以通过运行mvn mybatis-generator:generate的命令来看看是否会生成代码了,因为本人用的是编辑器是idea,所以直接在右边的maven工具栏双击就可以了


接下来,就是见证奇迹的时刻,当当当当..........................................


额。。。。。。。。。竟然失败了,看了一下报错信息,显示的报错信息是 generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver,上网查了一下,发现原来是generator这个插件在运行的时候找不到com.mysql.jdbc.Driver的依赖,所以,我灵机一动(哈哈,其实是借鉴网上的大神们的指挥啦),把pom文件中的这个依赖移到generator中去。


重新reimport后再执行一次,竟然成功了,并且也在对应的包下面发现了自动生成的代码文件,至此,大功告成~

猜你喜欢

转载自blog.csdn.net/yeyazhishang/article/details/80816130
今日推荐