java 动态sql代码连表
以下是一个Java动态SQL代码示例,用于连表查询:
public List<User> getUsersWithRoles() {
String query = "SELECT u.*, r.role_name FROM users u INNER JOIN roles r ON u.role_id = r.role_id";
List<User> users = new ArrayList<>();
try (Connection connection = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
PreparedStatement statement = connection.prepareStatement(query)) {
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setUsername(resultSet.getString("username"));
user.setPassword(resultSet.getString("password"));
user.setEmail(resultSet.getString("email"));
user.setRole(new Role(resultSet.getInt("role_id"), resultSet.getString("role_name")));
users.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
在上面的代码中,我们使用了INNER JOIN语句来连接users表和roles表,并且在查询结果中返回了每个用户的角色名称。我们使用PreparedStatement对象执行查询,并使用ResultSet对象获取查询结果。最后,我们将每个用户和其角色添加到一个List对象中,并返回该对象。
请注意,此代码仅用于示例目的,实际情况可能需要进行一些修改以适应不同的数据库和表结构。
原文地址: https://www.cveoy.top/t/topic/b5V4 著作权归作者所有。请勿转载和采集!