Mit myBatis mit dynamischen Tabelle mit Namen und Objekt

Ich bin über die Erstellung einer dynamischen SQL-insert verwenden myBatis, wo der name der Tabelle und das Objekt hält die Parameter sind anders. So etwas wie dieses:

INSERT INTO ${tablename} (column1, column2) VALUES (#{column1}, #{column2})

Die interface-Methode wäre diese:

@Insert(CREATE)
@Options(useGeneratedKeys = true, keyProperty = "id", flushCache = true)
public int write(String tablename, Object object) throws Exception;

Wo das Objekt enthält die Feld-Werte:

class Object {
  int id;
  String column1;
  String column2;

  getters, setters...
}

Leider habe ich nicht herausfinden können, wie Sie dies tun, die besten und funktionierenden Weg, ich fand, ist wenn der name der Tabelle ist eine Eigenschaft des Objekts, so die myBatis Lesen kann, ist der Wert in dieser Weise. Für einige praktische Grund würde ich gerne vermeiden, dieser Ansatz, vielleicht hat jemand eine bessere Idee? Danke.

  • Verwenden Sie eine Karte von Parametern. Setzen Sie den Namen der Tabelle und der anderen details in dieser Karte
  • Ja, die Karte ist eine funktionierende Lösung zu, aber im Prinzip das gleiche wie wenn ich den Namen der Tabelle in das Objekt ein. Der name der Tabelle und das Objekt werden die Eigenschaften in der gleichen value-Objekt.
InformationsquelleAutor derək | 2014-02-08
Schreibe einen Kommentar