如何使用ormlite来逃避插入?

时间:2014-07-30 04:34:44

标签: ormlite sql-insert

我已将ormlite集成到我正在处理的应用程序中。现在,我正在尝试构建功能,以便轻松地从自动插入数据切换到数据库,以便将等效的insert语句集合输出到文件中供以后使用。数据不是用户输入,但仍然需要适当的转义来处理像撇号这样的基本陷阱。

我已经烧毁的想法:

  • Dao.create()直接写入数据库,这样就不行了。
  • QueryBuilder无法处理插入内容。
  • JdbcDatabaseConnection.compileStatement()可能有效,但所需的设置数量不合适。
  • 使用java.sql.PreparedStatement有足够合理的界面(如果toString()像我希望的那样返回SQL),但它与ormlite的连接类型不兼容。

这应该是非常简单的,如果是,我找不到合适的方法调用组合来实现它。

1 个答案:

答案 0 :(得分:0)

  

现在我正在尝试构建功能,以便轻松地从自动插入数据切换到数据库,以便将等效的insert语句集合输出到文件中供以后使用。

有趣。所以一个hack就是使用MappedCreate类。 MappedCreate.build(...)方法需要DatabaseTypeTableInfo dao.getTableInfo()

mappedCreate.toString()公开了生成的INSERT语句(带有前缀),这可能会有所帮助,但您仍然需要将?参数转换为带有转义引号的实际值。你必须在你自己的代码中做。

希望这有所帮助。