2012-03-25 77 views
20

我正在使用Play!框架以及Anorm訪問數據庫。我經常看到如下的例子,其中對象成員直接注入到SQL語句中。斯卡拉Anorm字符串替換是否消毒輸入?

我的問題是,這些投入消毒?大多數示例如下所示:

object Person { 
    def save(p:Person) { 
     DB.withConnection ("default") { implicit connection => 
      SQL(""" 
       INSERT INTO person(firstName,lastName) 
       values ({firstName}, {lastName}) 
       """ 
       ).on(
       "firstName" -> p.firstName, 
       "lastName" -> p.lastName 
      ).executeUpdate() 
     } 
    } 
} 

我將嘗試通過黑客的方法來找出,但它很容易犯錯誤,所以我想過找更合適的,我可以在人羣集思廣益。

回答