ときは、リターンスプリング+キャメルケース戻り値マップMyBatisの

アプリケーション構成:

マップ・アンダースコア・ツー・キャメルケース:真
mybatis- PLUS:
  マッパー -locations:CLASSPATH *:ORG / jeecg /モジュール/ ** /xml/*Mapper.xml 
  グローバル-config設定:
    #はMP3.0バナー外れ
    バナー:falseに
    DB-config設定:
      #プライマリキータイプ0 :「データベースID増分」、1:「主キー型の種類が設定されていない、」2「は、ユーザがIDを入力する」3:「グローバルに一意のID(数値一意ID)」4:「グローバルに一意なID UUID」 、5:「文字列グローバルに一意のID(idWorkerの文字列表現)」、
      ID型:. 4 
      #デフォルトのデータベースのテーブルという名前の下線付き
      のテーブル-下線:trueに
  :コンフィギュレーション
    キーが地図にこぶを変換する#リターン地図名前の表現
    地図・アンダー・ツー・CAMEL・ケース:trueに
    SQL番号は、この構成は、プリントアウトするために実行されますが、開発やテストができたときに
    ログのimplを:org.apache.ibatis.logging.stdout.StdOutImpl

新しいツール:

パッケージorg.jeecg.config.mybatis。

輸入com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
輸入org.apache.ibatis.reflection.MetaObject;
輸入org.apache.ibatis.reflection.wrapper.MapWrapper;
輸入org.apache.ibatis.reflection.wrapper.ObjectWrapper;
輸入org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory。
輸入org.springframework.context.annotation.Bean;
輸入org.springframework.context.annotation.Configuration。

輸入java.util.Map; 

@Configuration 
パブリック クラスMybatisConfig { 
    @Bean 
    公衆ConfigurationCustomizer configurationCustomizer(){
         戻り構成- > configuration.setObjectWrapperFactory(新しいMapWrapperFactory())。
    } 


    静的 クラスは MapWrapperFactory 実装ObjectWrapperFactory { 
        @Override 
        パブリック ブールhasWrapperFor(Objectオブジェクト){
             リターンオブジェクト!= NULL &&オブジェクトinstanceofの地図。
        } 

        @Override 
        公共ObjectWrapper getWrapperFor(メタオブジェクトメタオブジェクト、オブジェクトのオブジェクト){
             戻り 新しいですMyMapWrapper(メタオブジェクト、(マップ)オブジェクト); 
        } 
    } 

    静的 クラス MyMapWrapper 延びMapWrapper { 
        MyMapWrapper(メタオブジェクトメタオブジェクト、マップの<string、オブジェクト> マップ){
             スーパー(メタオブジェクト、マップ)。
        } 

        @Override 
        パブリック文字findProperty(文字列名、ブールuseCamelCaseMapping){
             場合(useCamelCaseMapping
                     &&((name.charAt(0)> = 'A' && name.charAt(0)<= 'Z'  || name.contains( "_" ))){
                 リターンunderlineToCamelhump(名); 
            } 
            戻り名。
        } 

        / ** 
         *将下划线风格替换为驼峰风格
         * 
         * @param inputStringから
         * @return 
         * / 
        プライベート文字underlineToCamelhump(文字列inputStringから){ 
            StringBuilderのSB = 新規のStringBuilder(); 

            ブール nextUpperCase = ;
            以下のためにINT I 0 =; I <inputString.length(); I ++ ){
                 チャー C = inputString.charAt(I)。
                もし(C == '_' ){
                     場合(sb.length()> 0 ){ 
                        nextUpperCaseは = 
                    } 
                } {
                     場合(nextUpperCase){ 
                        sb.append(Character.toUpperCase(c)参照)。
                        nextUpperCase = ; 
                    } { 
                        sb.append(Character.toLowerCase(c)参照)。
                    } 
                } 
            } 
            戻りsb.toStringを();
        }  
    }

}

おすすめ

転載: www.cnblogs.com/xueyicanfei/p/12049082.html