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查询并获取满足条件的实体列表了。

相关内容

热门资讯

透视能赢!wepoker辅助器... 透视能赢!wepoker辅助器是真的的吗,aapoker辅助软件合法吗,透明教程(往昔真的有挂) 科...
透视计算!hhpoker透视脚... 透视计算!hhpoker透视脚本安卓,wepoker辅助器怎么用,专家专科(有挂了解)辅助器中分为三...
透视辅助!wepoekr底牌透... 这是一款非常优秀的aapoker透视插件 ia辅助检测软件,能够让你了解到aapoker透视插件中牌...
透视智能ai!德普之星辅助器,... 透视智能ai!德普之星辅助器,aapoker辅助工具存在吗,一分钟揭秘(有挂方法);1、下载好aap...
透视实锤!aapoker俱乐部... 1、透视实锤!aapoker俱乐部靠谱吗,约局吧如何查看是否有挂,攻略方法(原本真的是有挂);详细教...
透视计算!德普之星透视辅助软件... 透视计算!德普之星透视辅助软件是真的吗,红龙poker透视,技巧知识分享(有挂教程)1、起透看视 透...
透视苹果版!智星德州菠萝透视插... 1、透视苹果版!智星德州菠萝透视插件工具,安装不了wepoker,详细教程(原本有挂);详细教程。2...
透视安装!wpk辅助器是真的吗... 透视安装!wpk辅助器是真的吗,aapoker辅助器是真的吗,来一盘(有挂总结)1、aapoker辅...
透视规律!wepoker作弊辅... 透视规律!wepoker作弊辅助,aapoker透视脚本,扑克教程(一直是有挂)1、完成aapoke...
透视有挂!hhpoker透视脚... 透视有挂!hhpoker透视脚本下载,wpk透视脚本视频,让我来分享经验(有挂辅助挂)1、每一步都需...