P连接数据库,实现查询:详解示例 (jsp连接数据库查询实例)
P(JavaServer Pages)是一种基于Java的Web应用程序开发技术,它允许开发人员在HTML页面中嵌入Java代码,通过P标签来访问Java对象和方法。P常常用于动态生成Web页面,比如从数据库中获取数据并以表格、列表等形式展示。本文将详细介绍如何使用P连接数据库,实现查询功能,并给出一个示例。
1. 准备工作
在开始之前,我们需要准备以下工作:
– 一台安装了JDK(Java Development Kit)和Tomcat的机器。
– 一个关系型数据库,比如MySQL、Oracle等。
– 一个能够访问数据库的账户和密码。
2. 创建数据库表
为了演示查询功能,我们需要在数据库中创建一张表,用于存储查询的数据。在本示例中,我们创建了一张名为“employee”的表,包含以下字段:
– id:员工编号,类型为整数。
– name:员工姓名,类型为字符串。
– gender:员工性别,类型为字符串。
– age:员工年龄,类型为整数。
– salary:员工薪水,类型为浮点数。
在MySQL中,可以使用以下SQL语句创建该表:
CREATE TABLE employee (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
gender CHAR(1) NOT NULL,
age INT NOT NULL,
salary FLOAT NOT NULL,
PRIMARY KEY (id)
);
3. 配置数据源
在P中连接数据库,需要先配置数据源,即指定数据库的连接地址、账户、密码等信息。在Tomcat中,可以通过在context.xml配置文件中设置数据源,如下所示:
type=”javax.sql.DataSource” driverClassName=”com.mysql.jdbc.Driver”
url=”jdbc:mysql://localhost:3306/mydb?useSSL=false”
username=”root” password=”password”
maxTotal=”100″ maxIdle=”30″ maxWtMillis=”10000″/>
上述配置中,Resource节点定义了一个名为“jdbc/mydb”的数据源,其中包括以下属性:
– auth:验证方式,这里设置为“Contner”,表示由Tomcat容器来负责验证。
– type:数据源类型,这里设置为“javax.sql.DataSource”。
– driverClassName:JDBC驱动程序的类名,这里使用MySQL驱动。
– url:数据库连接地址,这里指向localhost上的mydb数据库。
– username:数据库账户。
– password:数据库密码。
– maxTotal:连接池中更大的连接数。
– maxIdle:连接池中保留的更大闲置连接数。
– maxWtMillis:获取连接的更大等待时间(毫秒)。
4. 创建P页面
在创建P页面之前,我们需要导入TL(JavaServer Pages Standard Tag Library)库,这是一组用于简化P开发的标准标签库。TL标签库包含了一些可以方便地操作数据的标签,比如、等,可以使P页面更加易读和可维护。
在P页面中,我们需要先加载数据库驱动程序,然后通过数据源来获取数据库连接,最后使用JDBC API来执行SQL语句,获取查询结果。具体步骤如下:
– 引入TL标签库。
– 加载数据库驱动程序。
<%
Class.forName(“com.mysql.jdbc.Driver”);
%>
– 获取数据库连接。
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(“java:/comp/env/jdbc/mydb”);
Connection conn = ds.getConnection();
%>
– 执行SQL语句,获取查询结果。
<%
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“SELECT * FROM employee”);
%>
– 使用TL标签库展示查询结果。
ID | Name | Gender | Age | Salary |
---|---|---|---|---|
完整的P页面代码如下:
<%
Class.forName(“com.mysql.jdbc.Driver”);
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(“java:/comp/env/jdbc/mydb”);
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“SELECT * FROM employee”);
%>
ID | Name | Gender | Age | Salary |
---|---|---|---|---|
在浏览器中访问该P页面,即可看到查询结果以表格形式呈现。
5.