アプリケーション構成:
マップ・アンダースコア・ツー・キャメルケース:真
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を(); } } }