📜  JSP-数据库访问(1)

📅  最后修改于: 2023-12-03 14:43:35.307000             🧑  作者: Mango

JSP-数据库访问

JSP(JavaServer Pages)是一种动态网页技术,它可以将Java代码嵌入到HTML页面中,使网页具有动态性。在JSP中,我们可以通过JDBC(Java数据库连接)来连接和操作数据库。

JDBC连接数据库

JDBC提供了一套标准的API,使得Java程序可以连接任何类型的关系型数据库。我们可以使用JDBC连接MySQL,Oracle,SQL Server等多种数据库服务器。

步骤
  1. 加载数据库驱动程序
  2. 建立数据库连接
  3. 执行SQL语句
  4. 处理结果集
  5. 关闭数据库连接
代码
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Statement stmt = conn.createStatement();
String sql = "select * from user";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    int age = rs.getInt("age");
    System.out.println("id:" + id + ", name:" + name + ", age:" + age);
}
rs.close();
stmt.close();
conn.close();
JSP中使用JDBC

在JSP中,我们可以使用JDBC访问数据库。通常情况下,我们会使用JavaBean来封装数据库操作逻辑,然后在JSP中调用JavaBean来执行相应的操作。

步骤
  1. 定义JavaBean,封装数据库操作逻辑
  2. 在JSP中导入JavaBean
  3. 在JSP中调用JavaBean中的方法
  4. 显示查询结果
代码

首先,我们定义一个名为DBUtil的JavaBean,封装数据库操作逻辑。

public class DBUtil {
    private static Connection conn;
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USER = "root";
    private static final String PASSWORD = "123456";

    static {
        try {
            Class.forName(DRIVER);
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static List<User> getUsers() {
        List<User> users = new ArrayList<>();
        String sql = "select * from user";
        try {
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            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);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return users;
    }
}

然后,我们在JSP中导入DBUtil JavaBean,并调用其getUsers方法来获取所有用户信息。

<%@ page import="java.util.List" %>
<%@ page import="com.example.User" %>
<%@ page import="com.example.DBUtil" %>

<html>
  <head>
    <title>用户列表</title>
  </head>
  <body>
    <h1>用户列表</h1>
    <table>
      <tr>
        <td>ID</td>
        <td>用户名</td>
        <td>年龄</td>
      </tr>
      <%
        List<User> users = DBUtil.getUsers();
        for (User user : users) {
      %>
      <tr>
        <td><%= user.getId() %></td>
        <td><%= user.getName() %></td>
        <td><%= user.getAge() %></td>
      </tr>
      <%
        }
      %>
    </table>
  </body>
</html>
总结

JSP与数据库的结合,使得我们可以方便地将数据库数据展示到网页上。在实际项目中,我们可以使用JDBC连接数据库,然后在JavaBean中编写相应的数据库操作逻辑,最后在JSP中调用JavaBean来执行数据库操作,将结果展示到网页上。