jsp执行mysql带参数的存储过程

本文介绍了一个使用Java通过JDBC连接MySQL数据库并调用存储过程的具体示例。示例中展示了如何设置连接参数、执行带条件的查询并展示查询结果。此教程适用于希望了解如何在Java应用中集成数据库存储过程的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="123";
//数据库名
String dbName="stock";
//表名
String tableName="users";
//联结字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName(
"com.mysql.jdbc.Driver").newInstance();
Connection conn
=DriverManager.getConnection(url);
String WhereCondition
="age<=30";
String OrderByExpress
="id Desc";
//调用存储过程的方法,并且传递了参数,不传参数就 call GetUsersDynamic可以了
CallableStatement cstmt=conn.prepareCall("{call GetUsersDynamic(?,?)}");
cstmt.setString(
1,WhereCondition);
cstmt.setString(
2,OrderByExpress);
ResultSet rs 
= cstmt.executeQuery(); 

//获得数据结果集合
ResultSetMetaData rsmd = rs.getMetaData();
//确定数据集的列数,亦字段数
int numColumns=rsmd.getColumnCount();
// 输出每一个列名
out.print("<table border=1><tr>");
for(int i=1;i<=numColumns;i++)//注意下标从1开始的 
{
    out.print(
"<td>"+rsmd.getColumnName(i)+"</td>");
}

out.print(
"</tr>");
while(rs.next()) 
{
out.print(
"<tr>");
    
for(int i=1;i<=numColumns;i++)
    
{
    
//输出数据
    out.print("<td>"+rs.getString(i)+"</td>");
    }

out.print(
"</tr>"); 
}
 
out.print(
"</table>");

out.print(
"数据库操作成功,恭喜你"); 
rs.close(); 
cstmt.close(); 
conn.close(); 

%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值