spring boot多模块整合mybatis(一)

发布时间:2018-11-15 浏览次数:1934 文章来源:个人博客

之前内容中,是用jpa来对数据库进行操作的,现在介绍的是mybatis方式,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。

本文主要记录的是mybatis的自动生成model,dao,mapping。

第一步:在web模块的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>
<!--数据库驱动-->
<!--<classPathEntry location="mysql-connector-java-5.0.8-bin.jar"/>-->
<context id="DB2Tables" targetRuntime="MyBatis3">
    <commentGenerator>
        <property name="suppressDate" value="true"/>
        <property name="suppressAllComments" value="false"/>
    </commentGenerator>
    <!--数据库链接地址账号密码-->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test"
                    userId="root" password="">
    </jdbcConnection>
    <javaTypeResolver>
        <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>
    <!--生成Model类存放位置-->
    <javaModelGenerator targetPackage="com.demo.mybatis.model" targetProject="../model/src/main/java">
        <property name="enableSubPackages" value="true"/>
        <property name="trimStrings" value="true"/>
    </javaModelGenerator>
    <!--生成映射文件存放位置,推荐和application.properties位置一致-->
    <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources/mybatis">
        <property name="enableSubPackages" value="true"/>
    </sqlMapGenerator>
    <!--生成Dao类存放位置-->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.demo.mybatis.mapper" targetProject="../dao/src/main/java">
        <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>
    <!--生成对应表及类名-->
    <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" 
    enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
        <property name="useActualColumnNames" value="true"/>
        <generatedKey column="ID" sqlStatement="MySql" identity="true"/>
    </table>
</context>
</generatorConfiguration>

具体的说明可以看代码中的注释。需要注意的是配置mapping的生成位置,最好和application.properties文件在同一个目录下,这样后面配置扫描位置方便些。当然这些都是看个人爱好。

配置信息文件编辑好后,我们在pom.xml中加入自动生成插件,代码如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.5</version>
            <configuration>
                <!--允许移动生成的文件-->
                <verbose>true</verbose>
                <!--允许覆盖生成的文件-->
                <overwrite>true</overwrite>
                <!--自动生成配置文件位置-->
                <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
            </configuration>
            <dependencies>
                <!--jdbc 驱动-->
                <dependency>
                    <!--引入后,配置文件就不需要声明配置了-->
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version> 5.1.39</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

maven指向reimport一下,然后看下图:

mybatis.png

忘了补充一句,路径的文件夹要提前建好。

双击后,在你配置的文件目录下,就能找到自动生成的数据库文件了。

key-word
springboot多项目 mybatis自动生成 mybatis 数据库自动生成 mapping