簡體   English   中英

Vertx - 如何使用 IN 將 ArrayList 傳遞給 SELECT 查詢

[英]Vertx - How to pass ArrayList to SELECT query with IN

我有一個 SELECT 語句,例如SELECT * FROM table where id=? and key IN (?,?..?) SELECT * FROM table where id=? and key IN (?,?..?) 對於 INSERT,UPDATE 我們有這個 batchWithParams,我該如何為 SELECT 做到這一點。 我正在為 MySQL 數據庫使用 JDBC 驅動程序。 數組列表是這樣的,

 BATCH [[100,4,11], [150,4,12]]

為什么不直接將 ArrayList 轉換為字符串? 像這樣:

 suspend fun getUsersByEmail(emails: Iterable<String>): List<User> {
    return mysqlPool.getConnectionAwait().use { conn ->
        conn.query(
            """
                SELECT * FROM users
                WHERE email IN (${emails.joinToString(separator = ", ") { "'$it'" }})
            """
        ).executeAwait().map { row ->
            User(
                row.getLong("id"),
                row.getString("email")
            )
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM