检查点:数据库查询
前言:
在 Java 中,操作SQL的主要有以下几种方式:
-
java.sql.Statement
-
java.sql.PrepareStatement
-
使用第三方 ORM 框架 —— MyBatis 或 Hibernate
下面我们来分析以上几种执行SQL的方式。
java.sql.Statement
java.sql.Statement 是最原始的执行SQL的接口,使用它时,需要手动拼接SQL语句,如下面这样:
构造请求 /?id='or 1 #,服务器将 'or 1 # 拼接到 sql 语句中,就会变成 SELECT * FROM user WHERE username = ''or 1 #,将返回 user 表的所有记录。故不推荐此写法。
java.sql.PrepareStatement
这个接口是对 java.sql.Statement 的拓展,拥有了防SQL注入