高级 Java 开发工程师 不懂 SQL 注入?

Rumplestiltskin:醉了
今天渗透搞出来一个 sql 注入漏洞
给对应的工程师也说了解决方法:“参数化查询” 就可以了
结果该人员来了一句,“参数化查询是什么意思?”

我们瞬间楞了,一时间竟然不知道如何解释。哈哈哈
看了一下 title 还是高级 java,我真的很好奇怎么升上来的。
sql 注入这玩意 就算不做网络安全 也都是了解一点的吧。

mercurylanded:java 工程师使用 ORM 框架的基本都没这个概念吧

lonelymarried:半吊子后端,escape 一下 sql 语句?

zhazi:java 届比较流行 ‘预编译语句’ 这个翻译 prepared statements
不懂一个非专业名词就被你一棒子打死了吗?

shuax:参数化查询是什么意思?

gz911122:一般叫 prepared statements

SQL Joins与Java代码? - java

我有这样的查询Select Folder.name from FROM FolderTable,ValidFolder, ValidFolderGroup, ValidUser, ValidLocation, ValidDepartment where ValidUser.LocationCode *= ValidLocation.LocationCode …

实现继承在java.sql.Timestamp的javadoc中意味着什么? - java

来自JavaDoc of java.sql.Timestamp class(重点是我的)由于上述Timestamp类和java.util.Date类之间的差异,建议代码不要以java.util.Date的实例的形式一般性地查看Timestamp值。 Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承。说实现继承而…

什么时候在JDBC上使用批处理操作更快? - java

我有一段代码可以在数据库上执行大约500,000次插入。现在,它是在每次迭代中调用PreparedStatement的executeUpdate的循环中完成的。将所有500,000个插入项添加到批处理中并仅一次调用executeBatch会更快吗? 参考方案 是的,它将更快。确保先关闭autoCommit,否则不会获得任何性能优势。

JDBC分页 - java

我想使用JDBC实现分页。我想知道的实际事情是“如何分别从数据库中获取第1页和第2页的前50条记录,然后再获得50条记录”我的查询是Select * from data [数据表包含20,000行]对于第1页,我得到50条记录,对于第2页,我想获得下50条记录。如何在JDBC中有效地实现它?我搜索后发现rs.absolute(row)是跳过首页记录的方法,但…

java.sql.SQLException:ResultSet已关闭 - java

我无法做进一步的处理,因为在运行此代码时我关闭了ResultSet。我在sqlite数据库表的15行之后添加值,我想找到15行的平均值,并且应该存储在ArrayList中。这是代码:-try { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("…