在Java中使用二进制数据手动构造SQL

0 java mysql binary

我有一个手动创建查询的小程序.在伪代码中,它基本上就是这样做的

string[] a = new string[x];
a[0] = "data 1";
a[1] = "data 2";
a[2] = "data 3";
string query = "insert into x (y) values(";
for i {
query += a[i] + ",";
}
query += ");";

我知道这种用法是次优的,我应该在某个时候做一个完整的重写.
现在我需要向a-array添加一些二进制数据.
给定a byte[] b,如何将其添加到查询中?
我没有尝试,但我假设b.toString()或只是query+=b会破坏我的数据?

Jon*_*eet 5

不要把它放在SQL中开始.使用参数化查询:它将更容易,并且不会冒SQL注入攻击的风险.

  • @Claes:使用参数化查询正确地执行它可能比以错误方式捏造它更简单.参数化查询并不难写.另请注意,如果您想要*binary*数据,以字符串开头并不是一个好主意. (3认同)