Java/Kotlin - 如何使用动态查询参数为端点创建方法



我研究的方法,例如通过id和一些动态查询参数返回我的"存储"。我已经制定了返回所有商店但仅按 id 返回的方法。

这是我使用 id 和两个可选内容的方法:

override fun retriveStoresByDatabaseId(databaseId: String, pageSize: Int, pageNumber: Int): List<StoreDto> {
val sq = SearchQuery()
sq.setSearchParam("databaseId", databaseId)
sq.setPageNumber(pageNumber)
sq.setPageSize(pageSize)
val stores: MutableList<StoreDto> = mutableListOf()
storeRepository.findAll(sq).forEach {
stores.add(DtoHelper.toDto(it, ""))
}
return stores
}

在商店模型类中,我有具有所有属性(即类型(的列表,在我的请求中,我想发送映射的正文,值是我的动态参数。然后我想只获取这些等于 map 中值的参数的值。你能给我一些建议,如何使用每个动态参数迭代该列表吗?

这是一个使用名称作为输入并带回 id 和名称的搜索

fun getOneName(name: String): Contact? {
val db = this.writableDatabase
val selectQuery = "SELECT  * FROM $TABLE_NAME WHERE $colName = ?"
db.rawQuery(selectQuery, arrayOf(name)).use { // .use requires API 16
if (it.moveToFirst()) {
val result = Contact()
result.id = it.getInt(it.getColumnIndex(colId))
result.name = it.getString(it.getColumnIndex(colName))
return result
}
}
return null
}

这是一个使用 ID 作为输入并从 childList 带回数据的方法

fun queryALL(fkI: Int): List<ModelChild> {
val db = this.writableDatabase
val childList = ArrayList<ModelChild>()
val selectQuery = "SELECT  * FROM $CHILD_TABLE WHERE $colCFK = ?"
//val selectQuery = "SELECT  * FROM ${CHILD_TABLE}"
val cursor = db.rawQuery(selectQuery, arrayOf(fkI.toString()))
//val cursor = db.rawQuery(selectQuery, null)
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
val contact = ModelChild()
contact.idI = Integer.parseInt(cursor.getString(cursor.getColumnIndex(colidI)))
contact.item = cursor.getString(cursor.getColumnIndex(colItem))
contact.fkI = Integer.parseInt(cursor.getString(cursor.getColumnIndex(colCFK)))
childList.add(contact)
} while (cursor.moveToNext())
}
}
cursor.close()
return childList
}

希望这有帮助

最新更新