例如Oracle数据库:
其jdbc查询字段方法实际为:
SELECT * FROM all_tab_columns WHERE table_name LIKE 'A_B_D' ORDER BY table_name,COLUMN_id
由于使用了like,当特殊字符如 _ 或者 % 时,将其视为通配符,导致查询字段有误;
如表 test%% test_1 test_blob test_money;
当使用该方法查询test%%时,错误的查询了其他表的字段;
处理办法:
使用转义 keyword = keyword.replace(key, "\\" + key)
注意:其他数据库也有同样问题