Android Room使用保存的整数列表/数组执行SQL的“IN”查询
创始人
2024-08-15 13:00:05
0

要使用Android Room执行SQL中的IN查询,你可以使用@RawQuery注解和SimpleSQLiteQuery类来构建自定义查询。下面是一个代码示例:

首先,在你的实体类中创建一个整数列表字段:

@Entity(tableName = "your_table_name")
data class YourEntity(
    @PrimaryKey
    val id: Int,
    val numbers: List
)

然后,在你的Dao接口中创建自定义查询方法,使用@RawQuery注解和SimpleSQLiteQuery类来构建查询:

@Dao
interface YourDao {
    @RawQuery
    fun getEntitiesByNumbers(query: SupportSQLiteQuery): List
}

接下来,在你的Repository或ViewModel中构建一个SimpleSQLiteQuery对象,并将整数列表作为参数传递给IN子句:

class YourRepository(private val yourDao: YourDao) {
    fun getEntitiesByNumbers(numbers: List): List {
        val query = SimpleSQLiteQuery("SELECT * FROM your_table_name WHERE id IN (?)", arrayOf(numbers.joinToString()))
        return yourDao.getEntitiesByNumbers(query)
    }
}

最后,在你的Activity或Fragment中调用getRepositoryByNumbers方法来获取满足条件的实体列表:

class YourActivity : AppCompatActivity() {
    private lateinit var yourRepository: YourRepository
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // 初始化Repository
        yourRepository = YourRepository(yourDao)
        
        // 调用查询方法
        val numbers = listOf(1, 2, 3)
        val entities = yourRepository.getEntitiesByNumbers(numbers)
        
        // 处理查询结果
        // ...
    }
}

这样,你就可以使用整数列表来执行IN查询并获取满足条件的实体列表了。

相关内容

热门资讯

一分钟了解!德扑圈透视,wep... 一分钟了解!德扑圈透视,wepoker插件下载(分享透视开挂辅助挂)是一款可以让一直输的玩家,快速成...
今日公布!pokerworld... 今日公布!pokerworld修改器,wepoker数据分析(必备透视开挂辅助神器)是一款可以让一直...
玩家必看科普!hhpoker德... 玩家必看科普!hhpoker德州挂真的有,werplan可以透视(解密透视开挂辅助工具);1、选手技...
科普攻略!有人wepoker,... 科普攻略!有人wepoker,约局吧德州真的存在透视(系统透视开挂辅助插件)是一款可以让一直输的玩家...
揭秘关于!wepoker透视方... 揭秘关于!wepoker透视方法,pokemmo手机版修改器(线上透视开挂辅助插件)是一款可以让一直...
2分钟细说!拱趴大菠萝开挂方法... 2分钟细说!拱趴大菠萝开挂方法,hhpoker是真的假的(科技透视开挂辅助工具);运拱趴大菠萝开挂方...
指导大家!hhpoker有透视... 指导大家!hhpoker有透视挂的,wepoker的辅助器(安装透视开挂辅助挂);指导大家!hhpo...
如何分辨真伪!wepoker可... 您好,wepoker可以买辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很...
详细说明!pokerworld... 详细说明!pokerworld辅助器,有哪些免费的wpk透视挂码(方法透视开挂辅助脚本)是一款可以让...
必备辅助推荐!拱趴大菠萝有挂,... 必备辅助推荐!拱趴大菠萝有挂,wepoker透视版下载(插件透视开挂辅助器)是一款可以让一直输的玩家...