我已经将ormlite集成到我正在处理的应用程序中。现在,我正在尝试构建功能,以便轻松地从自动将数据插入数据库切换到将等效的插入语句集合输出到文件中以供以后使用。数据不是用户输入,但仍需要适当的转义来处理撇号等基本陷阱。
我敲掉的想法:
-
Dao.create()
直接写入数据库,所以这是不行的。 -
QueryBuilder
无法处理插入物。 -
JdbcDatabaseConnection.compileStatement()
可能有效,但所需的设置量不合适。 - 使用
java.sql.PreparedStatement
具有足够合理的接口(如果toString()
像我希望的那样返回 SQL(,但它与 ormlite 的连接类型不兼容。
这应该很容易,如果是这样,我找不到正确的方法调用组合来实现它。
现在,我正在尝试构建功能,以便轻松地从自动将数据插入数据库切换到将等效的插入语句集合输出到文件中以供以后使用。
有趣。 因此,一个技巧是使用MappedCreate
类。 MappedCreate.build(...)
方法需要DatabaseType
和TableInfo
dao.getTableInfo()
获得。mappedCreate.toString()
公开了生成的 INSERT
语句(带有前缀(,这可能会有所帮助,但您仍然需要将?
参数转换为带有转义引号的实际值。 您必须在自己的代码中执行此操作。
希望这有所帮助。