JSP实现MySQL数据结构查询

流程简介:

login use describe

登录<----------->选择数据库<--------->选择表<---------->显示表结构

logout back back

0.数据库处理的javabean:(我厚道吧,这都贴出来了)

MySQLmeans.java(位置:MySQL/mysqlmeans.java):

package MySQL;
import java.sql.*;
/**
*
* @author lucifer
*/

public class mysqlmeans {
Connection con;
String username = "";
String passWord = "";
String server = "";
String dbname = "";
public void setPRoperties(String serv,String db,String name,String pass){
server = serv;
dbname = db;
username = name;
password = pass;
}

public void setUserName(String username){
this.username = username;
}
public String getUserName(){
return username;
}

public void setPassword(String password){
this.password = password;
}
public String getPassword(){
return password;
}

public void setServer(String server){
this.server = server;
}
public String getServer(){
return server;
}

public void setDataBase(String daname){
this.dbname = daname;
}
public String getDataBase(){
return dbname;
}

public Connection getConnection(){
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection
("jdbc:mysql://"+server+"/"+dbname+"?user="+username+"&password="+password, username, password);
return con;
}catch(Exception e){
e.printStackTrace();
return null;
}
}

public void exeUpdate(String sql){
Connection upCon = getConnection();
try{
Statement stmt = upCon.createStatement();
stmt.executeUpdate(sql);
stmt.close();
upCon.close();
}catch(Exception e){
e.printStackTrace();
}
}

public ResultSet getResult(String sql){
ResultSet rs = null;
try{
Statement stmt = con.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
}catch(Exception e){
e.printStackTrace();
}
return rs;
}

public void closeConnection(){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}

public void closeResultSet(ResultSet rs){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}

public void closeStatement(Statement stmt){
try{
stmt.close();
}catch(Exception e){
e.printStackTrace();
}
}

}




1.登录:

login.jsp:

<%--
Document : choose
Created on : 2009-10-5, 19:07:36
Author : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" errorPage="login_error.jsp"%>
<!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 bgcolor="#c0c0c0">
<center>
<font face="楷体" size="+3">
Sir_LuciFer<br>数据库查询系统
</font>
<br><br>
<form method="post" action="chooseDataBase.jsp" name="form">
<B>
服务器:
<input type="text" name="server" value="localhost"><br>
用户名:
<input type="text" name="username" value="root"><br>
密码:
<input type="password" name="password"><br>
<input type="submit" value="Login!">
</B>
</form>
</center>
</body>
</html>
http://www.knowsky.com/

2.选择要使用的数据库:

chooseDataBase.jsp:

<%--
Document : choose
Created on : 2009-10-5, 19:07:36
Author : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="mysql" class="MySQL.mysqlmeans"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>选择数据库</title>
<script type="text/Javascript">
function getDataBase(){
alert(document.getElementById("db").value)
}
</script>
</head>
<%
String user = request.getParameter("username");
String pass = request.getParameter("password");
String serv = request.getParameter("server");
mysql.setUserName(user);
mysql.setPassword(pass);
mysql.setServer(serv);
String sql = "show databases";

mysql.getConnection();
ResultSet rs = mysql.getResult(sql);
%>

<body bgcolor="#c0c0c0">
<center>
<table border="1px">
<tr>
<td>
数据库:
</td>
</tr>
<%
while(rs.next()){%>
<tr>
<td>
<%=rs.getString("Database")%>
</td>
</tr>
<%
}
mysql.closeResultSet(rs);
mysql.closeConnection();
%>
</table>
<form method="post" action="chooseTable.jsp" name="form">
<B>
请选择数据库名称:
</B>
<input type="text" name="database" value="test"><br>
<input type="hidden" name="username" value="<%=user%>">
<input type="hidden" name="password" value="<%=pass%>">
<input type="hidden" name="server" value="<%=serv%>">
<input type="submit" value="USE!">
</form>
<form method="post" action="login.jsp">
<input type="submit" value="Logout!">
</form>
</center>
</body>
</html>







3.选择表并看其结构:

chooseTable.jsp:

<%--
Document : chooseTable
Created on : 2009-10-5, 19:19:37
Author : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="mysql" class="MySQL.mysqlmeans"/>
<%
String user = request.getParameter("username");
String pass = request.getParameter("password");
String serv = request.getParameter("server");
String dbname = request.getParameter("database");
mysql.setUserName(user);
mysql.setPassword(pass);
mysql.setServer(serv);
mysql.setDataBase(dbname);
String sql = "show tables";

mysql.getConnection();
ResultSet rs = mysql.getResult(sql);

%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>选择表</title>
</head>
<body bgcolor="#c0c0c0">
<center>
<table border="1px">
<tr>
<td>
表:
</td>
</tr>
<%
while(rs.next()){%>
<tr>
<td>
<%=rs.getString("Tables_in_" + dbname)%>
</td>
</tr>
<%
}
%>
</table>
<form method="post" action="describeTable.jsp" name="form2">
<B>请选择一个表:
<input type="text" name="table">
<input type="hidden" name="username" value="<%=user%>">
<input type="hidden" name="password" value="<%=pass%>">
<input type="hidden" name="server" value="<%=serv%>">
<input type="hidden" name="database" value="<%=dbname%>">
<br>
<input type="submit" value="DESCRIBE!">
</B>
</form>


<form method="post" action="chooseDataBase.jsp" name="form1">
<B>
<input type="hidden" name="username" value="<%=user%>">
<input type="hidden" name="password" value="<%=pass%>">
<input type="hidden" name="server" value="<%=serv%>">
<input type="submit" value="BACK!">
</B>
</form>
</center>
</body>
</html>




4.描述表:

describeTable.jsp:

<%--
Document : describeTable
Created on : 2009-10-6, 19:49:26
Author : lucifer
--%>

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="mysql" class="MySQL.mysqlmeans"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Describe table <%=request.getParameter("table")%></title>
</head>
<%
String serv = request.getParameter("server");
String user = request.getParameter("username");
String pass = request.getParameter("password");
String dbname = request.getParameter("database");
String tname = request.getParameter("table");
mysql.setServer(serv);
mysql.setUserName(user);
mysql.setPassword(pass);
mysql.setDataBase(dbname);
String sql = "describe " + tname;

mysql.getConnection();
ResultSet rs = mysql.getResult(sql);

%>
<body bgcolor="#c0c0c0">
<center>
<table border="1px">
<tr>
<td>
Field
</td>
<td>
Type
</td>
<td>
Null
</td>
<td>
Key
</td>
<td>
Default
</td>
<td>
Extra
</td>
</tr>
<%
while(rs.next()){
%>
<tr>
<td>
<%=rs.getString("Field")%>
</td>
<td>
<%=rs.getString("Type")%>
</td>
<td>
<%=rs.getString("Null")%>
</td>
<td>
<%=rs.getString("Key")%>
</td>
<td>
<%=rs.getString("Default")%>
</td>
<td>
<%=rs.getString("Extra")%>
</td>
</tr>
<%
}
%>
</table>
<form method="post" action="chooseTable.jsp">
<input type="hidden" name="username" value="<%=user%>">
<input type="hidden" name="password" value="<%=pass%>">
<input type="hidden" name="server" value="<%=serv%>">
<input type="hidden" name="database" value="<%=dbname%>">
<input type="submit" value="BACK!">
</form>
</center>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值