【发布时间】:2017-12-29 19:01:39
【问题描述】:
我正在寻找一种使用 Java 为 MySQL 查询转义字符串的方法。
但是等等,在你们中的一些人直接跳到“准备好的陈述”的结论之前,我想再解释一下。
问题是,我没有 MySQL 连接。我没有直接从 Java 执行任何 MySQL 查询。我对准备好的语句了解不多,但是AFAIK,准备好的语句需要实时连接才能工作。
我想让我的代码读入一堆 CSV/XLS 文件,获取数据,然后为 MySQL 生成一个巨大的 INSERT 查询。但是这个查询现在将存储在一个文本文件中。在有人开绿灯并将这个文本文件转储到数据库之前,它不会执行。
有没有一种简单的方法可以做到这一点,而无需使用过度的框架/库?谢谢你们。
【问题讨论】:
-
这听起来像是一个奇怪的设置。如果您的代码不能直接访问数据库,为什么要创建 SQL 语句?更新 XML 并让代码访问数据库执行 SQL 操作难道还不够吗?
-
@TimothyTruckle 好吧,我不是将查询转储到数据库的人。将要运行查询的人可能知道也可能不知道 Java,她也可能知道也可能不太了解编码。她可能只是简单地复制查询并在一些 GUI SQL 程序中运行查询。或者...简单地说,我的任务是从大量 CSV 中提取所有数据并将数据转换为巨大的 INSERT 查询,Java 只是我选择的自动化工具。你有更好的主意吗?
-
这意味着你的问题是一个未定义/损坏的工作流程,你必须绕过一个被设计破坏的解决方案。我会尝试向我的客户出售一个连接到数据库的附加程序,最终用户可以将 XML 文件拖放到执行 SQL 的操作。
-
@OHGODSPIDERS 问题是......对于 MySQL,有两种转义特殊字符的样式 - 双字符样式和斜线样式。可能我只是写一个字符串操作方法并相应地添加斜杠?