1 インポートするjava.util.Iterator。 2 インポートjava.util.Map。 3 インポートjava.util.Set。 4 5 パブリック クラスSQLUTIL { 6 パブリック 静的文字列sqlSelect = "" ; 7 8 パブリック 静的文字列selectQuerySQL(MAP <文字列、OBJECT> マップ、文字列tableNameの){ 9 であれば(map.isEmpty()|| map.size()== 0 ){ 10 sqlSelectは= + "SELECT * FROM" tableNameの。 11 } 他{ 12 sqlSelectは= + tableNameの+ "どこ" "SELECT * FROM" ; 13 =設定された設定map.keySet()。 14 イテレータイテレータ= set.iterator()。 15 int型のインデックス= 0 。 16 一方(iterator.hasNext()){ 17 文字キー= (文字列)iterator.next(); 18 Object値= map.get(キー)。 19 であれば(値のinstanceof 文字列){ 20 値= " '" +値+ "'" 。 21 } 22 インデックス++ ; 23 であれば((インデックス== 1 && map.size()== 1)|| map.size()== インデックス){ 24 sqlSelect + =キー+ "=" +値+ "" 。 25 } 他{ 26 sqlSelect + =キー+ "=" +値+ "" + "と" + "" 。 27 } 28 } 29 } 30 のSystem.out.println( "待执行的選択SQL:" + sqlSelect)。 31 リターンsqlSelect。 ストリングinsertSQL(MAP <ストリング、OBJECT> マップ){ 34 イテレータ<ストリング>イテレータ= map.keySet()反復子()。 35 のStringBuilder SQLTABLE = 新しい StringBuilderの( "挿入" )。 36 のStringBuilder sqlKey = 新しい StringBuilderの( "(" ); 37 のStringBuilder sqlVaule = 新しい StringBuilderの( "値(" ); 38 ながら(iterator.hasNext()){ 39 文字キー= iterator.next(); 40 であれば(マップ。取得(鍵).toString()== NULL || map.get(キー).toString()。長さ()== 0 ){ 41 iterator.remove()。 42 } 他{ 43 であれば(key.equals( "tableNameの" )){ 44 sqlTable.append(map.get(キー))。 45 } 他{ 46 sqlKey.append(+キー"" )。 47 sqlVaule.append(map.get(キー)+ "" )。 48 } 49 } 50 } 51 sqlTable.append(sqlKey.toString()。ストリング( 0、sqlKey.toString()のlastIndexOf(」、 "))+ ")")。(sqlVaule.toString()を追加します。ストリング(0、sqlVaule.lastIndexOf(" 、 "))+") " ); 52である 文字列のSQL = sqlTable.toString(); 53である (するSystem.out.println"が実行されるSQLを挿入します。「+ SQL)を、 54であり、 リターンSQL; 55 } 56はある * / これは上記の方法の使用は、無視することができる* / 57であり、 / * パブリック静的無効メイン(文字列[] args){ 58 //メソッドを選択するために呼び出す 59に 地図の<string、オブジェクト> =新しい新しいマップHashMapを<>(); 60 map.put (「フィールド名」、「特定の値」)。 61 列tableNameの= "表名"。 62はある のSystem.out.println(selectQuerySQL(地図、tableNameの).toString()); 63れる // insertメソッドを呼び出す 64 地図<文字列、オブジェクト> =新しい新しい地図のHashMap <>(); 65 map.put(「フィールド名""特定の値"); 66 map.put(" tableNameの""ここで最後のテーブル名を追加「); 67 文字列のSQL = INSERT SQL(マップ); 68 のPreparedStatementなステートメント=のConnection.prepareStatement(SQL); 69 なステートメント。 (SQL)を実行し; //これはSQL文では、接続接続にJDBCUtilを与える必要性によって実行された 70 } * / 71です }