テンプレートの技術を使用する方法FreeMarkerのは、自動的にドメインを対応するデータベーステーブルを生成するために存在します!

 使用テンプレート技術FreeMarkerの基本的な手順:   

    FreeMarkerの:一般的な技術[テンプレート] FTLされる
      1ガイドパケット(FreeMarkerのが小さなフレームである)
      2.設定オブジェクトに設定(プラス版)を作成します
      。3.設定のロードパス
      4.文字セット(デフォルト)
      5。テンプレートを作成する(FTLテンプレートを用意)
      6.準備したデータ(地図、オブジェクト)
      7.データ+テンプレート=出力ファイル(ライター)

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----------------------------------

以下は、ドメインのFreeMarkerのテンプレート世代データベース技術の基本ケースの存在とテーブルには、次のとおりです。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration( "CLASSPATH:applicationContext.xmlを")
パブリッククラスCreateDomainTest {

@Autowired
プライベートデータソースデータソース、

列tabalNameは= "t_address"; //例としてここで生成されたテーブルは、既存のデータベースをt_address。もし

別のテーブルを生成する必要がある、テーブル名を変更することができます。
文字列クラス名=「アドレス」; //ここで生成されたドメインクラス名です。タイムテーブルを生成するクラス名に対応するテーブル名に、他のことができます。

@Test
ます。public void testCreate()例外{スロー
//リンクされたオブジェクトデータベースを取得
接続接続= dataSource.getConnection();
//行のSQL文を準備するために必要な
+ tabalName "SELECT *から" =文字列のSQLを;
//は準備ができて実行を良いSQL文
のPreparedStatementのConnection.prepareStatement PS =(SQL);
//設定した結果を得る
)(= ps.executeQueryたresultSetのRSを;
//生データパラメータを取得
するResultSetMetaData rs.getMetaDataメタデータを=();
//取得フィールドの数、現在のテーブル
のint = metaData.getColumnCount COUNT();
適切なフィールドにコレクションを//ループは、インストールされているフィールドのリストを作成したが、我々が得る
;リスト<地図>リスト=新しい新しいのArrayList <>()を
(のためのint型I = 1; I <=カウント; iは++){
// getColumnClassNameは、私たちのテーブル内のフィールドタイプ、プレフィックスのreplaceFirstというタイプを取得して削除するには
、String型を= metaData.getColumnClassName(I).replaceFirst(、「」「java.langでは。」);
//テーブルのフィールドを取得します名前フィールドタイプのjava.lang。
文字列名= metaData.getColumnName(I);
//最初の文字の名前は、名前の最初の文字を大文字に
、このフィールドはそのインデックスから次へと、取られる//サブ末端標識、toUpperCaseの最初の文字が大文字になる
文字列upperNameのname.substring =(0 ,. 1).toUpperCase()name.substring +を(1)、
ハッシュマップの<string、オブジェクト> =新しい新しい地図のHashMap <>();
map.put ( "タイプ"タイプ);
map.put( "名称"、名);
map.put( "upperName"、upperName);
List.add(マップ);
}

レディ構成オブジェクト//
構成CFG =新しい構成を(Configuration.VERSION_2_3_28);
テンプレートを設定することで//ロードパス、
//ディレクトリ:カタログテンプレート:テンプレートのロード:ロード
文字列のパス=「F:/ Navicatはプレミアム11.1 /ソフトウェア/日食/日食-ワークスペース-春/ CMS / srcに/メイン/ Webアプリケーション/テンプレート」; // このアドレスが置かれdomain.javaテンプレートファイルのパス
cfg.setDirectoryForTemplateLoading(新ファイル(パス));
設定されたテンプレートの文字セット//
"UTF-8")cfg.setDefaultEncodingを(;
//テンプレートオブジェクトの取得
テンプレートテンプレートをcfg.getTemplate =( "domain.java");
//適切なデータを準備します(マップ、オブジェクトが)
<= HashMapの新しい新しいデータマップをマップ>();
dataMap.put( "クラス名"、クラス名);
dataMap.put( "filedList"、リスト);

//ファイルをビルド
//データ(データマップ)+テンプレート(テンプレート)=出力ファイル(OUT)
ファイル=にnewFile新しい新しいファイル(パス、クラス名+ "Javaの");
てFileWriterてFileWriter新しい新OUT =(にnewFile);
template.process(DATAMAP、OUT);
out.flush();
}
}

 

-------------------------------------------------- -------------------------------------------------- -----------------------------------

domain.javaテンプレートコンテンツ:

パブリッククラス$ {クラス名} {

<#list filedList出願時の>
プライベート$ {filed.type} $ {filed.name};
</#リスト>


<出願時の#list filedList>
公共$ {filed.typeは} $ {filed.upperNameを}(取得){
} $ {filed.nameを返します。
}
公共ボイド集合$ {filed.upperName}($ {filed.type} $ {filed.name}){
この$ {filed.name。} = $ {filed.name}。
}
</#リスト>

}

おすすめ

転載: www.cnblogs.com/DarryZz04/p/10939551.html