【发布时间】:2012-07-25 07:30:54
【问题描述】:
我正在用 Java 为我的 Tomcat 服务器应用程序编写一个 DAO 层,
我希望使用 Prepared Statement 包装我的查询(1. 解析一次查询,2. 防御 SQL 注入), 我的数据库设计包含每个数据源系统的 MyISAM 表。而且大多数通过 DBO 的查询都是使用不同的表名作为参数的选择。
其中一些表可能是即时创建的。
我已经浏览了许多解释我可能不会使用表名作为 Prepared 语句的参数的帖子。
我找到了建议使用某种类型的函数(例如 mysql_real_escape_string)的解决方案,这些函数可以处理此参数并将结果作为字符串附加到查询中,
是否有任何内置的 Jave 库函数可以以最佳优化方式执行此操作,或者您可能建议在 DAO 层中执行其他操作(我不喜欢将任何例程添加到它自己的 DB 中) ?
【问题讨论】:
标签: java mysql prepared-statement dao tablename