java代码sql语句中$接受参数的用法
时间: 2023-11-15 17:04:11 浏览: 40
在Java代码中,$符号可以用来接收SQL语句中的参数。这种方式通常被称为“命名参数”。
下面是一个示例:
```
String sql = "SELECT * FROM users WHERE username = :username";
try (Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString("username", "johnDoe");
ResultSet rs = pstmt.executeQuery();
}
```
在这个示例中,我们使用了冒号(:)来标识命名参数。在执行SQL语句之前,我们将参数值绑定到PreparedStatement中的命名参数上。
另一种常见的方式是使用问号(?)来表示位置参数。在这种情况下,你需要按照参数在SQL语句中出现的顺序来绑定参数值,而无需指定命名参数。
```
String sql = "SELECT * FROM users WHERE username = ?";
try (Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, "johnDoe");
ResultSet rs = pstmt.executeQuery();
}
```
无论你使用哪种方式,都应该注意避免SQL注入攻击。尽可能使用参数化查询,而不是直接拼接字符串来构造SQL语句。