springboot2.1統合MyBatisの発電機と一般マッパー

1:依存関係を追加します。

<?xml version = "1.0"エンコード= "UTF-8"?> 
<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlnsを:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス」
         のxsi:のschemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion> 4.0.0 </ modelVersion> 
    <親> 
        <のgroupId> org.springframework.boot </のgroupId> 
        <たartifactId>ばねブートスタータ親</たartifactId> 
        <バージョン> 2.1.5.RELEASE </バージョン> 
        <relativePath /> <! -ルックアップ親リポジトリから- > 
    </親> 
    <groupIdを> com.dev </ groupIdを>
    <たartifactId> devloper-鉱山</たartifactId>
    <version>0.0.1-SNAPSHOT</version>
    <名前> devloper-鉱山</名前> 
    <説明>のdevのプロジェクトのための春ブーツ</記述> 

    <プロパティ> 
        <のjava.version> 1.8 </java.version> 

        <! - MyBatisのジェネレータ- > 
        <! - Javaの接口和实体类- > 
        <targetJavaProject> $ {BASEDIR} / srcに/メイン/ javaの</ targetJavaProject> 
        <targetMapperPackage> com.dev.mapper.repositry </ targetMapperPackage> 
        <targetModelPackage> com.dev.model </ targetModelPackage > 
        <! - XML生成路径- > 
        <targetResourcesProject> $ {BASEDIR} / srcに/メイン/リソース</ targetResourcesProject> 
        <targetXMLPackage>マッパー</ targetXMLPackage>

        <! -一般マッパー- > 
        <tk.mybatis.version> 4.1。5 </tk.mybatis.version>
        <persistence.version>1.0.2</persistence.version>
        <mapper.plugin>tk.mybatis.mapper.generator.MapperPlugin</mapper.plugin>
        <mapper.Mapper>tk.mybatis.mapper.common.Mapper</mapper.Mapper>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <! -のhttps:// mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter - > 
        <! -通用マッパー- > 
        <依存> 
            <groupIdを> tk.mybatis </ groupIdを> 
            <たartifactId>マッパー</たartifactId> 
            <バージョン> $ {tk.mybatis.version} </バージョン> 
        </依存関係> 

        < -のhttps:// mvnrepository.com/artifact/javax.persistence/persistence-api - > 
        <! - @Entity注解- > 
        <依存> 
            <groupIdを>のjavax.persistence </ groupIdを> 
            <たartifactId>持続-API </たartifactId> 
            <バージョン>$ {persistence.version} </バージョン> 
        </依存>

        <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter - > 
        <依存> 
            <groupIdを> org.mybatis.spring.boot </ groupIdを> 
            <たartifactId> MyBatisのスプリング-boot-スターター</たartifactId> 
            <バージョン> 2.0.1 </バージョン> 
        </依存関係> 

        < -のhttps:// mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter - > 
        <依存> 
            <groupIdを> com.alibaba </ groupIdを> 
            <たartifactId>ドルイドスプリング・ブート・スターター</たartifactId> 
            <バージョン> 1.1.17 </バージョン> 
        </依存関係> 

        < - HTTPS!://mvnrepository.com/artifact/mysql/mysql-connector-java - > 
        <依存> 
            <groupIdを> mysqlの</ groupIdを> 
            <たartifactId>のmysql-コネクタ-javaの</たartifactId> 
            <バージョン> 8.0.16 </バージョン> 
        < /依存関係> 


    </依存関係> 

    <構築> 
        <プラグイン> 
            <プラグイン> 
                <groupIdを> org.springframework.boot </ groupIdを> 
                <たartifactId>春・ブートのmaven-pluginの</たartifactId> 
            </プラグイン> 

            <プラグイン> 
                < groupId> org.springframework.boot </ groupIdを> 
                <たartifactId>春・ブートのmaven-pluginの</たartifactId> 
                <設定>
                    <fork>true</fork>
                </configuration>
            </プラグイン> 

            <! - MyBatisの発電機のウィジェット- > 
            <プラグイン> 
                <! - MyBatisの-ジェネレータプラグ、および自動マッパーPOJOを生成する- > 
                <groupIdを> org.mybatis.generator </ groupIdを> 
                <たartifactId> MyBatisの-発電のMavenプラグイン- </たartifactId> 
                <バージョン> 1.3.7 </バージョン> 
                <設定> 
                    <! -ロケーション・プロファイルは、プロファイルの場所に変更する必要があります- > 
                    <configurationFile>のsrc /メイン/リソース/ MyBatisの-ジェネレータ/ジェネレータ-config.xmlの</ configurationFile> 
                    <! -表紙- > 
                    <冗長> trueに</verbose> 
                    <!-書き換え- > 
                    <上書き> trueに </上書き> 
                </ configuration>の

                <依存性> 
                    < -のhttps:// mvnrepository.com/artifact/tk.mybatis/mapper - > 
                    <依存> 
                        <groupIdを> tk.mybatis </のgroupId> 
                        <たartifactId>マッパー</たartifactId> 
                        <バージョン> $ {tk.mybatis.version} </バージョン> 
                    </依存> 

                </依存関係> 

            </プラグイン> 
        </プラグイン> 
    </ビルド>

</プロジェクト>

notice1:使用了 mybatis-generator+通用mapper 可以生成model、mapper、mapper.xml文件,但是若不加mybatis的依赖生成的文件会报错...

notice2:使用了mybatis就要配数据源否则会启动报错...

notice3:pom依赖中可以配置依赖版本号、mapper、model等的存放位置...

 

2:添加一个mybatis-generator需要用的db.properties文件(也可以不添加)

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/dsos_zgq?&useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

#插件位置
mapper.plugin=tk.mybatis.mapper.generator.MapperPlugin
#生成的mapper类继承的父类的位置
mapper.Mapper=com.dev.mapper.BaseMapper

如图:

 

3:添加generator-config.xml(要和pom文件中配置的路径一致)

<?xmlのバージョン= "1.0"エンコード= "UTF-8"?> 
<!DOCTYPE generatorConfiguration 
        PUBLIC " - // mybatis.org//DTD MyBatisのジェネレーターの設定1.0 // EN" 
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 

<generatorConfiguration> 
    <プロパティリソース= "MyBatisの-generator / db.properties "/> 

    < classPathEntry 
            位置が =" D:\ IntelljIdea \ Maven3.5 \ localmaven \のMySQL \ MySQLのコネクタからJava 8.0.16 \のMySQLコネクタ- Javaベース8.0.16.jar \ "/ > 

    <! - MyBatis3Simple可以不生成生成モデル衍生的例文件- > 
    <コンテキストID = "DB2Tables" targetRuntime = "MyBatis3Simple" defaultModelType =」
        <プロパティ名= "javaFileEncoding"値= "UTF-8" /> 
        <プロパティ名= "beginningDelimiter"値= "'" /> 
        <プロパティ名= "endingDelimiter"値= "'" /> 

        <プラグインタイプ= "$ {mapper.plugin} "> 
            <プロパティ名="マッパー」値= "$ {mapper.Mapper}" /> 
        </プラグイン> 

        <commentGenerator> 
            <プロパティ名= "suppressDate"値= "true"を/> 
            <! - -是否去除自动生成的注释:是::否- > 
            <プロパティ名= "suppressAllComments"値= "true"を/> 
        </ commentGenerator> 

        <JDBCConnectionのdriverClass = "$ {jdbc.driver}" 
                        connectionURL = "$ {jdbc.url}" 
                        useridは = "$ {jdbc.username}"
                        パスワード = "$ {} jdbc.password"> 

            <! - mysqlのゾーンの設定値は、ドライバのバージョン8.xのGMTに設定する必要があり、UTCができます- > 
            <プロパティ名= "serverTimezone"値= "GMT" /> 

            < ! -テーブルやその他のデータベースモデルマッパーなどを生成解決する- > 
            <! -モデルは、@Idの欠如が問題(のMySQLドライバのバージョン5.1この問題は、フォールバックを解決することができる)ノート内部で発生解決することができます- > 
            <プロパティ名= "nullCatalogMeansCurrent"値= / "真の"> 
        </ JDBCConnectionの> 

        <javaTypeResolver> 
            <プロパティ名= "forceBigDecimals"値= "falseに" /> 
        </ javaTypeResolver> 

        <javaModelGenerator targetPackage = "$ {targetModelPackage}" targetProject = "$ {targetJavaProject} "/>

        <sqlMapGenerator targetPackage = "$ {} targetXMLPackage" targetProject = "$ {targetResourcesProject}" /> 
        <javaClientGenerator targetPackage = "$ {} targetMapperPackage" targetProject = "$ {} targetJavaProject" 
                             タイプは、 = "XMLMAPPER" /> 

        <! - tableNameの代表domainObjectNameエンティティのテーブルスキーマを表す名前がデータベース構造を意味する- > 
     <! -プレゼンスOH aopiテーブルを確保するために、すべてのテーブルは%対応するモデルを用いて生成することができる、現在のデータファイルをマッパー等- > <=表tableName "aopi"> <generatedKeyカラム= "ID" =のSQLStatement "Mysqlの"同一性= "真の" /> </テーブル> </コンテキスト> </ generatorConfiguration>

 

 

 4:一般的なマッパーインタフェースを書くBaseMapper

 

package com.dev.mapper;

import tk.mybatis.mapper.common.IdsMapper;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**
 * Created by zgq7 on 2019/6/24.
 * 让生成的mapper文件都集成该接口
 */
public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T>, IdsMapper<T> {

}

 

notice1:类路径要与db.properties中定义的一样,不然会报错...

 

5:application.xml的配置

 

server.port = 8022 
server.servlet.context -path = / 
#druid数据源
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource 
spring.datasource.druid.url = JDBCます。mysql:// localhostを:3306 / dsos_zgq?serverTimezone = GMT%2B8&useUnicode =真&characterEncoding = UTF-8 
spring.datasource.druid.driver- クラス -name = com.mysql.cj.jdbc.Driver 
spring.datasource.druid.username = ルート
spring.datasource.druid。パスワード = ルート
#druid连接配置
spring.datasource.druid.db -type = mysqlの
#druid测试
spring.datasource.druid.test -on-ボロー=真の
#印刷SQL(共に、私は後者を好む) 
#mybatis.configuration.log -impl = org.apache.ibatis.logging.stdout.StdOutImpl
 logging.level.com.dev.mapper.repositry =デバッグ 

 

ここで私は、私はちょうどだけシンプルな構成、およびコンフィギュレーションのだけでなく、このような操作を行うためにここにいる、瞬間ドルイドの構成を考え、他の設定方法がありますが、これは明らかに、より便利で速いです。

私は、構成ドルイド他の執筆、研究の多くでは、後に更新します。

 

6:関連文書を生成するために、MyBatisの発電機のプラグインを実行します。

次のようにファイル構造を生成:

 

7:ねえ~~の正常な動作かどうかを確認するには、ユニットテスト

notice1:SQLログも繰り出さ見ることができます

notice2:ユニットテストが成功している、素晴らしいサービスを完全ラララ。

 

 

概要:多くを得るために、新たな用途の新しい知識と理解を学びます。

XML設定の紹介についてMyBatisの公式ウェブサイトのアドレスの詳細を添付:http://www.mybatis.org/generator/configreference/table.html

 

おすすめ

転載: www.cnblogs.com/zgq7/p/11084161.html