0
我面對這個(至少對我來說),有趣的任務SQL INSERT語句:從喜歡對象POJO得到一個SQL INSERT語句。讓我說我不需要在我的Scala應用程序和數據庫之間添加一個框架,因爲我只需要將數據插入到一個數據庫表中。斯卡拉:如何變換像對象POJO到使用Scala的反射
因此,假設我的類的屬性同樣命名這些數據庫表,我想使用Scala的反射,以得到一類像這樣的
class MyDataObj {
var a:Int = 345
var b:Boolean = false
var c:Double = 1243.98
var d:String = "A random string"
}
SQL插入這樣
INSERT INTO table_a (a, b, c, d) values (345, false, 1243.98, 'A random String');
好語句中,我們需要的是
1)訪問類的屬性
2)獲得的屬性類型
3)訪問對象實例
的屬性值爲了得到這樣的
List(("a","Int",345), ("b","Boolean",false), ("c","Double",1243.98), ...)
,將很容易轉變成我們想要的。
到現在爲止,我剛剛發現瞭如何訪問屬性名稱
val columns = typeOf[MyDataObj].members.view.filter{_.isTerm}.
filter{!_.isMethod}.map{_.name}.toList
我怎樣才能獲得其餘的我需要什麼?
像往常一樣支持我。
非常感謝!這絕對是尋找什麼... – Max