将Scala函数中的输入参数视为ScalikeJDBC select查询中的字符串

时间:2018-09-11 21:17:14

标签: scala jdbc

我在Scala中有一个函数,该函数返回List [String]。我正在使用ScalikeJDBC。

def selectDQTableAndSiteList(schemaName:String) (implicit s:DBSession = AutoSession) : List[String] = {
   sql"select CONCAT(name, ${"#"} , age) as tablename from ${schemaName}.employee where status = 'Y'".map(_.string("tablename")).list().apply()
}

假设我的输入参数schemaName为abc。然后将选择查询作为'abc'.employee执行,而不是abc.employee

我需要做什么更改才能将其视为abc.employee

1 个答案:

答案 0 :(得分:1)

您可以使用 SQLSyntax.createUnsafely 将您的字符串转换为 SQLSyntax

  def selectDQTableAndSiteList(schemaName:String)(隐式s:DBSession = AutoSession):List [String] = {
   val模式= SQLSyntax.createUnsafely(schemaName)
   sql“选择CONCAT(name,$ {”#“},age)作为$ {schema} .employee的表名,其中status ='Y'”。map(_。string(“ tablename”))。list()。apply ()
}