现有数据库上的 ORMLite

ORMLite on an existing database

我想使用 ORMLite,但我已经有一个包含现有数据的数据库。如果我开始使用 ORMLite 会有问题吗?它会使用正确的列和 table 名称正确检索我的数据吗?

我的日期类型是这样保存的:yyyy-MM-dd HH:mm:ss

所以当我实现 ORMLite 时我这样做了:

@DatabaseField(columnName = KEY_DATEENVOIE_SENDLEAD, dataType = DataType.DATE_STRING, format = "yyyy-MM-dd HH:mm:ss")
private Date dateEnvoieSendLead;

不,当我执行 queryForAll 时,我打印这个:

2 月 6 日星期一 16:03:57 GMT+01:00 2017

Will it retrieve my data correctly by using the good column and table name?

即使您的数据库中已有数据,您当然也可以开始使用 ORMLite。诀窍是精确匹配 table 名称和列类型和名称。您将使用 @DatabaseTable(tableName = "...") 并更改 ... 以对应于您现有的 table 名称。然后使用 @DatabaseField(columnName = "...") 设置字段的列名,以便 .. 匹配您的每个字段。

如果您的列中有某种自定义数据并且您不希望它成为 String 字段,那么唯一困难的部分就会出现。例如,您可以在数据库中以特殊格式存储 Date 字段。在这种情况下,您将不得不花费更多时间来确保格式正确或可能不得不使用 custom field persisters.