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