我们的应用程序中有几个表,每个表都是在创建数据库时通过RAW sql文件填充的,即第一次安装应用程序。即使用
executeSqlScript( dao, sqlFile )
每个表都有1个sql文件。目前这很简单,但随着表数量的增加,sql文件的数量也会增加。有没有更好的方法来填充数据库?将静态数据存储在XML文件中并将其反序列化为Domain对象并通过OrmLite保存这些数据是一个更好的选择还是我还缺少其他技巧?
答案 0 :(得分:0)
答案 1 :(得分:0)
我还在决定如何在一个Android应用中访问SqLite数据库。最后我最终得到了OrmLite。基本上是因为我不喜欢将SQL语句硬编码为Java代码。我正在寻找类似于Hibernate的东西但是" lite"足够Android。
OrmLite不仅根据您的域对象创建表,因此您不需要编写SQL创建脚本。但是,只需创建Java对象并将其保存到DB,就可以很容易地填充SqLite数据库。
只有当我使用OrmLiteSqliteOpenHelper.onUpgrade()
方法升级数据库时,才需要编写SQL脚本。在这种情况下,需要编写ALTER TABLE
语句。否则,您可以使用纯Java来操作SqLite DB。如果您为每个表创建1个Java文件,则由您决定。或者在单个Java文件中填充多个表。关于这一点的好处是你编写了Java代码验证的Java代码。如果您将SQL语句硬编码到字符串,则不是这样。
如果您有大量初始化数据,并且可以轻松地获取XML文件中的数据。然后将XML反序列化为域对象并使用OrmLite将它们存储到DB也可能是一种解决方案。