Spring Boot整合tk.mybatis


0.tk.mybatisについて
  • 汎用Mapperは、開発者にとって非常に便利です.プログラマは自由に自分のニーズに合わせて共通の方法を選ぶことができます.
  • は単一テーブル動作をサポートしており、共通の複数テーブルの共同クエリには対応していません.
  • tk.mybatisはMyBatisフレームに基づいて多くのツールを提供し、より効率的な文書の開発を可能にする.https://github.com/abel533/Mapper/wiki
  • 1.Spring Boot整合tk.mybatis
    1)依存性の導入
    pom.xmlファイルにmapper-spring-boot-starter依存性を導入します.この依存は自動的にMyBaits依存性を導入します.
    <dependency>
        <groupId>tk.mybatisgroupId>
        <artifactId>mapper-spring-boot-starterartifactId>
        <version>   version>
    dependency>
    
    2)MyBatisの配置
    appication.yml:
    mybatis:
      type-aliases-package: com.nic.api.entity
      mapper-locations: classpath:mapper/*.xml
      configuration:
        map-underscore-to-camel-case: true
    
    3)一般的な親インターフェースを作成する
    package tk.mybatis;
    
    import tk.mybatis.mapper.common.Mapper;
    import tk.mybatis.mapper.common.MySqlMapper;
    
    /**
     *        , DAO         
     *          ,     
     * @param 
     */
    public interface MyMapper<T> extends Mapper<T>,MySqlMapper<T> {
    }
    
    2.MyBatisのGeneatorプラグインを使ってコードを生成する
    このプラグインを使用すると、エンティティクラス、DAO、XMLプロファイルが自動的に生成されます.手動で作成する必要はありません.業務が複雑であれば、関連ファイルを変更するだけでいいです.Mybatis Geneat or詳細解:http://blog.csdn.net/isea533/article/details/42102297
    1)pom.xmlファイルにmybatis-generator-maven-pluginプラグインを追加します.
    <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generatorgroupId>
                <artifactId>mybatis-generator-maven-pluginartifactId>
                <version>1.3.5version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xmlconfigurationFile>
                    <overwrite>trueoverwrite>
                    <verbose>trueverbose>
                configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysqlgroupId>
                        <artifactId>mysql-connector-javaartifactId>
                        <version>${mysql.version}version>
                    dependency>
                    <dependency>
                        <groupId>tk.mybatisgroupId>
                        <artifactId>mapperartifactId>
                        <version>3.4.4version>
                    dependency>
                dependencies>
            plugin>
        plugins>
    build>
    
    2)データベース関連情報の設定:
    Src/main/resourceディレクトリでjdbc.propertiesデータソース構成を作成します.
    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.connectionURL=jdbc:mysql://localhost:3306/site?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    jdbc.username=root
    jdbc.password=
    
    3)src/main/resource/generator/ディレクトリでgenerator Config.xmlプロファイルを作成する:
    
    
    
    <generatorConfiguration>
        
        <properties resource="jdbc.properties"/>
    
        <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
            <property name="beginningDelimiter" value="`"/>
            <property name="endingDelimiter" value="`"/>
    
            
            <property name="javaFileEncoding" value="UTF-8"/>
    
            
            <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
                <property name="mappers" value="tk.mybatis.MyMapper"/>
            plugin>
    
            
            <jdbcConnection
                    driverClass="${jdbc.driverClass}"
                    connectionURL="${jdbc.connectionURL}"
                    userId="${jdbc.username}"
                    password="${jdbc.password}">
            jdbcConnection>
    
            
            <javaModelGenerator targetPackage="com.nic.api.entity" targetProject="src/main/java"/>
    
            
            <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
    
            
            <javaClientGenerator
                    targetPackage="com.nic.api.mapper"
                    targetProject="src/main/java"
                    type="XMLMAPPER"/>
    
            
            <table catalog="site" tableName="%">
                <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
            table>
        context>
    generatorConfiguration>
    
    4)実行コマンド自動生成コード
    mvn mybatis-generator:generate