如何用一张JSP页面连接数据库,实现查询,修改 *** 作

如何用一张JSP页面连接数据库,实现查询,修改 *** 作,第1张

1.通过jdbc连接上数据,并从中获取一个连接。(建议由一个工具类提供)

2.创建一个jsp页面、一个servlet类和一个service业务逻辑类。

3.当点击查询按钮时调用servlet并把文本框中的参数传递过去。

4.在servlet中获取页面传递过来的参数,并调用service中方法(此方法负责条件查询并返回list集合)

5.servlet中把查询集合放到request作用域并转发到jsp页面进行迭代,把数据取出展示即可。

用JDBC技术

创建数据库连接,分为以下几步:

1.装载并注册数据库的JDBC驱动程序

2.取得数据库连接

3.建立Statement 对象

4.准备并执行调用SQL语句

5.处理ResultSet中的记录集

6.释放资源

第一步

加载驱动程序

try{ //装载MySQL数据库驱动

Class.forName("com.mysql.jdbc.Driver")

}

catch(ClassNotFoundException e)

{

e.printStackTrace()

}

注意:在使用JDBC之前,要在文件前导入有关SQL的类即

import java.sql.*

第二步

取得数据库连接

try{

String url="jdbc:mysql://localhost:3306/student

String user="root"

String password="1234"

con=DriverManager.getConnection(url,user,password)

}

catch(SQLException e)

{

e.printStackTrace()

}

第三步

建立Statement 对象

try{

Statement sql=con.createStatement()

}

catch(SQLException e)

{

e.printStackTrace()

}

第四步

执行各种SQL语句

try{

ResultSet rs=sql.executeQuery(

"select * from student")

}

catch(SQLException e)

{

e.printStackTrace()

}

第五步

获取查询结果

ResultSet rs=sql.executeQuery(

"select * from student")

while(rs.next())

{

rs.getString(2)或者是rs.getString("name")

rs.getInt(3)或者是rs.getInt("age")

}

注意

只有select语句才会有结果集返回;

ResultSet对象一次只能看到一个数据行

使用next()方法走到下一数据行

获得一行数据后,ResultSet对象可以使用getXxx()方法获得字段值,将位置索引或字段名传递给get第六步

关闭创建的各个对象(后打开的先关)

rs.close()

sql.close()

con.close()Xxx方法()即可。

我感觉,最好不使用jsp去连接数据库

<%@ page contentType="text/htmlcharset=gb2312" %>

<%@ page language="java" %>

<%@ page import="com.mysql.jdbc.Driver" %>

<%@ page import="java.sql.*" %>

<%

//驱动程序名

String driverName="com.mysql.jdbc.Driver"

//数据库用户名

String userName="cl41"

//密码

String userPasswd="123456"

//数据库名

String dbName="db"

//表名

String tableName="dbtest"

//联结字符串

String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd

Class.forName("com.mysql.jdbc.Driver").newInstance()

Connection connection=DriverManager.getConnection(url)

Statement statement = connection.createStatement()

String sql="SELECT * FROM "+tableName

ResultSet rs = statement.executeQuery(sql)

//获得数据结果集合

ResultSetMetaData rmeta = rs.getMetaData()

//确定数据集的列数,亦字段数

int numColumns=rmeta.getColumnCount()

// 输出每一个数据值

out.print("id")

out.print("|")

out.print("num")

out.print("<br>")

while(rs.next()) {

out.print(rs.getString(1)+" ")

out.print("|")

out.print(rs.getString(2))

out.print("<br>")

}

out.print("<br>")

out.print("数据库 *** 作成功,恭喜你")

rs.close()

statement.close()

connection.close()

%>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10716508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存