rawQuery与database.query

时间:2011-12-08 18:40:44

标签: android sqlite comparison

在查询生成器上使用rawQuery有什么好处(反之亦然)?

例如,查询生成器是否再次保护SQL注入攻击(虽然不像网站那样大问题,SQL注入+内容提供商可能是个问题)?或者比另一个更快?

我对SQL很满意(足以满足我需要做的事情)所以我倾向于使用rawQuery(我可以更轻松地阅读源代码),但我只是想知道我是否遗漏了某些东西这可能很有用。

2 个答案:

答案 0 :(得分:8)

通过提供的方法构建查询绝对是首选。它不仅可以保护您免受SQL注入,还可以为您构建查询,因此您可以避免使用大量字符串连接,从而使查询字符串的可读性降低,并且更容易出错。在性能方面,我认为它没有多大区别。

答案 1 :(得分:3)

可读性是rawQuery的一个优点。至少对我而言。

如您所知,根据帕累托原则,开发人员花费80%的时间阅读代码。因此,可读性是一个非常有力的论据。

尽管QueryBuilder还提供了使用占位符的方法(防止SQL注入)。

希望有所帮助。