[英]Using myBatis with dynamic table name and object
我將使用myBatis創建動態SQL插入,其中表名和保存參數的對象不同。 像這樣:
INSERT INTO ${tablename} (column1, column2) VALUES (#{column1}, #{column2})
接口方法是這樣的:
@Insert(CREATE)
@Options(useGeneratedKeys = true, keyProperty = "id", flushCache = true)
public int write(String tablename, Object object) throws Exception;
對象保存字段值的位置:
class Object {
int id;
String column1;
String column2;
getters, setters...
}
不幸的是,我找不到方法,發現的最佳和可行的方法是表名稱是Object的屬性,因此myBatis可以通過這種方式讀取值。 由於某些實際原因,我想避免這種方法,也許有人有更好的主意? 謝謝。
像這樣使用@Param
批注
@Insert(CREATE)
@Options(useGeneratedKeys = true, keyProperty = "object.id", flushCache = true)
public int write(@Param("tablename") String tablename,
@Param("object") Object object) throws Exception;
和查詢
INSERT INTO ${tablename} (column1, column2) VALUES (#{object.column1}, #{object.column2})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.