4

谁能给我一个示例,说明如何在具有动态值的 scalikejdbc 中使用 like 子句。我使用了以下查询,但没有用

 sql"select * from tables_list where lower(TABLE_NAME) like '%$tableName.toLowerCase%'"
4

1 回答 1

5

scalikejdbc 内置防止 sql 注入,因此当您键入 时like '%$tableName.toLowerCase%',它会显示为like '%'urValue'%',因此会发生错误。

我找到了一种方法来解决它,那就是

def search(name:String){
    val searchName = s"%$name%"
    DB readOnly{ implicit session =>
        sql"select * from db where name like $searchName".map
    ...
    ...
}

我希望这可以帮助你。

于 2017-10-15T03:30:56.800 回答