Java实现网页从数据库读取数据 (java写网页访问数据库)
随着互联网的飞速发展,数据成为信息化时代最重要的资产之一。而Web应用的开发已经成为现代软件开发的主流方式。在这个基础上,Java作为一种强大且灵活的编程语言,被越来越多的开发者所熟知和使用。本文将介绍如何使用,以及具体实现的步骤。
一、数据库准备
在开始前,需要准备好一个数据库。本文将使用MySQL数据库作为示例。在MySQL中,需要创建一个新的数据库和表。可以使用以下命令来创建一个名为“test”的数据库和名为“demo”的表:
“`
CREATE DATABASE test;
USE test;
CREATE TABLE demo (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT,
PRIMARY KEY (id)
);
“`
上述代码中,创建了一个名为demo的表,包含id、name和age三个字段,其中id字段为主键,自动递增。
二、JDBC驱动
JDBC(Java Database Connectivity)是Java连接数据库的标准接口。在使用Java连接MySQL数据库时,需要使用一个特定的MySQL驱动程序。有很多开源的MySQL驱动程序可供选择,本文将使用MySQL Connector/J作为示例。
可以在以下网址下载MySQL Connector/J:https://dev.mysql.com/downloads/connector/j/。下载完成后,需要将jar文件添加到Java项目中的classpath中。
三、编写Java代码
在完成了数据库和驱动的准备后,就可以编写Java代码来实现网页从数据库读取数据的功能。
需要导入需要使用的Java类。在接下来的代码示例中,将使用以下类:
“`
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
“`
1. 建立数据库连接
连接数据库是之一步,需要建立一个数据库连接。可以使用以下代码片段建立与MySQL数据库的连接:
“`
String jdbcUrl = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “password”;
Class.forName(“com.mysql.cj.jdbc.Driver”);
Connection connection = DriverManager.getConnection(jdbcUrl, user, password);
“`
上述代码中,jdbcUrl是连接数据库的地址,user和password是登录MySQL数据库所用的用户名和密码。Class.forName()方法用于加载MySQL的JDBC驱动程序,在连接数据库前执行一次即可。Connection对象是与MySQL数据库的通信通道。
2. 封装查询方法
可以将查询数据库的操作封装成一个方法,方便后续的调用。下面的示例代码中,创建了一个名为“selectDemo”的方法,该方法返回一个List对象,其中Demo类是自定义的一个Java类,用于表示demo表中的每一条记录。
“`
public List selectDemo() throws SQLException {
String sql = “SELECT * FROM demo”;
List demoList = new ArrayList();
try (PreparedStatement ps = connection.prepareStatement(sql)) {
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Demo demo = new Demo();
demo.setId(rs.getInt(“id”));
demo.setName(rs.getString(“name”));
demo.setAge(rs.getInt(“age”));
demoList.add(demo);
}
}
return demoList;
}
“`
上述代码中,使用PreparedStatement对象来执行查询操作,ResultSet对象用于存储返回的结果集。根据查询结果,将Demo对象封装成一个List对象,并返回。
3. JavaBean
需要创建一个JavaBean类,该类的属性应该与demo表中的字段相匹配。以下是示例代码:
“`
public class Demo {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
“`
上述代码中,定义了一个Demo类,包含id、name和age三个属性。
4. 将数据传递给P
在完成查询后,将从数据库获取到的数据传递给P页面。P(Java Server Pages)是一种基于Java的Web开发技术,用于动态地生成HTML、XML或其他格式的文档。以下是传递数据到P的示例代码:
“`
String url = “/demo.jsp”;
List demoList = selectDemo();
request.setAttribute(“demoList”, demoList);
RequestDispatcher dispatcher = request.getRequestDispatcher(url);
dispatcher.forward(request, response);
“`
上述代码中,使用request.setAttribute()方法将从数据库查询到的数据放入到request对象中,然后使用getRequestDispatcher()方法获取请求分派器对象,forward()方法将请求转发到对应的P页面。
四、编写P页面
需要编写P页面,以显示从数据库读取的数据。以下是示例代码:
“`
ID | Name | Age |
${demo.id} | ${demo.name} | ${demo.age} |
“`
上述代码中,使用TL(P Standard Tag Library)来遍历从数据库获取的数据,并将数据显示在表格中。