java web通过java类来驱动对数据库进行操作

java web通过java类来驱动对数据库进行操作(以数据库查询为例)

1.java类(写于Java Resources文件夹下的src的包中,无包则需自己创建)

package java第九周1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Sqlmethod {
/*
String driver="com.mysql.jdbc.Driver";
String url1="jdbc:mysql://localhost:3306/aaa";
String url2="?user=root&password=2411030483";
String url3="&useUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+url3;
Class.forName(driver);
Connection conn=DriverManager.getConnection(url);//实现注册驱动并建立数据库的连接
 */
private String driverName="com.mysql.jdbc.Driver";
private String userName="root";
private String userPW="2411030483";
private String dbName="aaa";
public Sqlmethod(String driverName, String userName, String userPW, String dbName) {
	super();
	this.driverName = driverName;
	this.userName = userName;
	this.userPW = userPW;
	this.dbName = dbName;
}
public Sqlmethod() {
	super();
	// TODO Auto-generated constructor stub
}
public String getDriverName() {
	return driverName;
}
public void setDriverName(String driverName) {
	this.driverName = driverName;
}
public String getUserName() {
	return userName;
}
public void setUserName(String userName) {
	this.userName = userName;
}
public String getUserPW() {
	return userPW;
}
public void setUserPW(String userPW) {
	this.userPW = userPW;
}
public String getDbName() {
	return dbName;
}
public void setDbName(String dbName) {
	this.dbName = dbName;
}
public Connection getConn() throws Exception{
	String url1="jdbc:mysql://localhost:3306/"+dbName;
	String url2="?user=root&password="+userPW;
	String url3="&useUnicode=true&characterEncoding=UTF-8";
	String url=url1+url2+url3;
	Class.forName(driverName);
	Connection conn=DriverManager.getConnection(url);
	return conn;
}
public void free(Connection conn,Statement stmt,ResultSet rs) throws Exception//关闭不同的接口,使其通用性更高
{
	if(rs!=null){rs.close();}
	if(stmt!=null){stmt.close();}
	if(conn!=null){conn.close();}
}
public void free2(Connection conn,Statement stmt) throws Exception
{
	if(stmt!=null){stmt.close();}
	if(conn!=null){conn.close();}
}
public void free3(Connection conn) throws Exception
{
	if(conn!=null){conn.close();}
}
}

2.提交表单

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询信息页面</title>
</head>
<body>
<form action="select2.jsp" method="post"><%//创建表单传输数据 %>
<p>请选择想要查询的分数范围</p>
<hr>
最低体重:&nbsp;<input type="text" name="weight1"><br><br>
最高体重:&nbsp;<input type="text" name="weight2"><br><br>
<input type="submit" value="提交">
&nbsp;<input type="reset" value="取消">
</form><br>
</body>
</html>

3.数据库查询

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="java第九周1.Sqlmethod"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>输出信息页面</title>
</head>
<body>
	<%
		Sqlmethod ss = new Sqlmethod();
		Connection conn = ss.getConn();
		String sql = "select id,name,sex,age,weight,height from biao1 where weight>=? and weight<=?;";//写出对数据库的操作语句,?表示占位符
	%>
	<%
		if (request.getParameter("weight1") != null && request.getParameter("weight1").trim().length() > 0
				&& request.getParameter("weight2") != null && request.getParameter("weight2").trim().length() > 0) {
			String weight1 = request.getParameter("weight1");//通过表单获取数据
			String weight2 = request.getParameter("weight2");
			double wt1 = Double.parseDouble(weight1);
			double wt2 = Double.parseDouble(weight2);//将数据转换为相应类型
			PreparedStatement pstmt = conn.prepareStatement(sql);//对象
			pstmt.setDouble(1, wt1);//将第一个占位符赋值
			pstmt.setDouble(2, wt2);
			ResultSet rs = pstmt.executeQuery();//执行select,返回一个结果集
			rs.last();
	%>
	你要查询的共有<%=rs.getRow()%>人
	<table border="2" width="650">
		<%
			//建立表格,显示数据
		%>
		<tr>
			<td>记录条数</td>
			<td>学号</td>
			<td>姓名</td>
			<td>性别</td>
			<td>年龄</td>
			<td>体重</td>
			<td>身高</td>
		</tr>
		<%
			rs.beforeFirst();//将信息放入表格
				while (rs.next()) {
		%><tr>
			<td><%=rs.getRow()%></td>
			<td><%=rs.getInt(1)%></td>
			<td><%=rs.getString(2)%></td>
			<td><%=rs.getString(3)%></td>
			<td><%=rs.getInt(4)%></td>
			<td><%=rs.getDouble(5)%></td>
			<td><%=rs.getDouble(6)%></td>
		</tr>
		<%
			}
		%>
	</table>
	<%
		ss.free(conn, pstmt, rs);
		} else
			out.println("输入异常");
	    ss.free3(conn);
	%>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_43238335/article/details/105684417