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()
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)