编写jdbc,用statement语句实现查询,包含编写servlet类,service层,dao层
时间: 2024-02-03 11:02:08 浏览: 63
好的,这是一个典型的 Java Web 开发的流程,我可以给你提供一个基本的思路:
1. 创建数据库连接
使用 JDBC API 创建一个数据库连接。你需要提供数据库的 URL、用户名和密码。
示例代码:
```
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
```
2. 编写 DAO 层
在 DAO 层中,你需要实现对数据库的操作。在本例中,我们使用 Statement 对象执行查询语句,然后使用 ResultSet 对象处理查询结果。
示例代码:
```
public class UserDao {
public List<User> getUsers() throws SQLException {
List<User> users = new ArrayList<>();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM users");
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
users.add(user);
}
} finally {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
}
return users;
}
}
```
3. 编写 Service 层
在 Service 层中,你需要调用 DAO 层的方法,并处理数据。在本例中,我们将查询结果转换为 JSON 格式,以便在 Servlet 中进行输出。
示例代码:
```
public class UserService {
private UserDao userDao;
public UserService() {
userDao = new UserDao();
}
public String getUsersJson() throws SQLException {
List<User> users = userDao.getUsers();
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(users);
return json;
}
}
```
4. 编写 Servlet 类
在 Servlet 类中,你需要处理请求,并调用 Service 层的方法。在本例中,我们将查询结果输出为 JSON 格式。
示例代码:
```
public class UserServlet extends HttpServlet {
private UserService userService;
public UserServlet() {
userService = new UserService();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String json = userService.getUsersJson();
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
}
```
以上是一个基本的 Java Web 使用 Statement 语句实现查询的思路,希望对你有帮助。请注意,以上代码仅供参考,具体实现可能需要根据你的具体情况进行修改。
阅读全文