從0開始碼第一個Spring Boot項目之IDEA中通過Maven方式部署mybatis generator逆向工程

看過之前的文章,我們都可以看到我們項目中使用的是mybatis中的註解方式,然後在註解中編寫語句,但是這種方式只能處理簡單的CRUD,如果是複雜的多表聯合查詢和存儲過程,mybatis官方文檔建議使用XML方式

MBG seeks to make a major impact on the large percentage of database operations that are simple CRUD (Create, Retrieve, Update, Delete). 
You will still need to hand code SQL and objects for join queries, or stored procedures.

那麼如何在IDEA中使用Mybatis逆向工程

1.在pom文件中添加Maven依賴插件
<plugin>
	<!-- mybatis generator插件 -->
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-maven-plugin</artifactId>
   <version>1.4.0</version>
   <!-- 添加需要逆向的數據庫驅動 -->
   <dependencies>
       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.25</version>
       </dependency>
   </dependencies>
</plugin>
2.編寫generatorConfig.xml文件放在resources目錄下
<?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="Mysql" targetRuntime="MyBatis3">

        <!-- mybatis提供的分頁插件 -->
        <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin>
        <!-- 去掉生成文件中的註釋 -->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!-- 配置數據庫連接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/community"
                        userId="root"
                        password="admin">
        </jdbcConnection>
        <!-- 支持java類型和數據庫類型的轉換 -->
        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 根據數據庫表自動生成的實體類(model)存放的路徑 -->
        <javaModelGenerator targetPackage="wang.kingweb.community.model" targetProject="src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- 自動生成的XXXMapper.xml文件存放路徑 -->
        <sqlMapGenerator targetPackage="mapper"  targetProject="src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 對應XXXMapper.xml文件的XXXMapper.java接口文件 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="wang.kingweb.community.mapper"  targetProject="src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        
        <!-- 對應數據庫表名以及生成的實體類名 -->
        <table tableName="user" domainObjectName="User" ></table>
        <table tableName="article" domainObjectName="Article" ></table>

    </context>
</generatorConfiguration>
3.生成命令

在IDEA左下角點擊IDEA集成的命令行插件Terminal,如下:
命令行工具
然後輸入如下命令:

mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

我們配置的項目路徑下就會出現對應的實體類、XXMapper.java以及XXMapper.xml文件

運行所需配置:
在XXXApplication.java文件中添加@MapperScan(“xxx.xxx.mapper”)
這個註解是用來掃描XXXMapper.java文件所在路徑,如下:

@SpringBootApplication
@MapperScan("wang.kingweb.community.mapper")
public class CommunityApplication {

    public static void main(String[] args) {
        SpringApplication.run(CommunityApplication.class, args);
    }

}

然後在application.properties中做如下配置:

#配置對應別名的實體類路徑
mybatis.type-aliases-package=wang.kingweb.community.model
#配置XXXMapper.xml文件路徑
mybatis.mapper-locations=classpath:/mapper/*.xml

配置完成後,啓動項目,查看項目是否運行成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章