当您面临JSP衔接MySQL数据库问题,你首先需求在MySQL数据库里
缔造一username表,表里面
缔造两个字符型的字段,字段名分别为:uid,pwd,
而后插入几条测试数据 。
以下用两种
模式来实现JSP衔接MySql数据库
第一种
模式,用JSP实现:
<%@ page contentType="text/html;
charset=gb2312" language="java"
import="java.sql.*"%>
<%//*******************************
****************
JDBC_ODBC衔接MySql数据库,不需求设置数据源***********
**********************/
//********** 数据库衔接代码 开始 ******/
//以下几项请自行
批改String server="localhost";
//MYSQL 服务器的地址String dbname="test";
//MYSQL 数据库的名字String user="root";
//MYSQL 数据库的登录消费者名String pass="chfanwsp";
//MYSQL 数据库的登录密码String port="3306";
//SQL Server 服务器的端口号,
默许为1433//数据库衔接字符串
String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?
user="+user+"&passWord="+pass+"&useUnicode
=true&characterEncoding=GB2312";
//加载驱动程序Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//
构建衔接Connection conn= DriverManager.getConnection(url);
//
缔造语句对象Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// **** 数据库衔接代码
完毕 ******* String sql="select * from username";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();while(rs.next()){out.print("消费者名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"
");}
rs.close();stmt.close();conn.close();%>
第二种
模式,用JavaBean来实现:
DBConnMySql.java编译以后的Class文件应该放在Web-INF\classes\conn目录下 。
package conn; //导入包import java.sql.*;
//导入数据库操作的类public class DBConnMySql
//
构造
步骤,初始化{private Connection conn;
//衔接对象private Statement stmt;
//语句对象private ResultSet rs;
//
后果集对象private String MySqldriver;
//MYSQL Server驱动程序字符串private String MySqlURL;
//MYSQL Server衔接字符串//*********************************
用 org.gjt.mm.mysql.Driver 驱动
* 该
步骤
获得衔接所需各种参数,构成衔接字符串,
而后再
构建衔接* server;dbname,user,pass,port
分别
示意MYSQL 服务器的地址,
* 数据库,消费者名,密码,端口
**********************************/
public Connection getConnToMySql
(String server,String dbname,String user,String pass,String port)
{//MYSQl驱动程序MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://";
//衔接字符串一
部分try{//
完全的衔接字符串MySqlURL
=MySqlURL+server+":"+port+"/"+dbname+"?user=
"+user+"&password="+pass+"&useUnicode
=true&characterEncoding=GB2312";
Class.forName(MySqldriver);conn
= DriverManager.getConnection(MySqlURL);}
catch(Exception e){System.out.println
("操作数据库出错,请
细心
审查");
//System.err.println(e.getMessage());}return conn;}
//关闭数据库衔接public void close(){try{//rs.close();
//stmt.close();conn.close();}catch(SQLException
sqlexception){sqlexception.printStackTrace();}}}
这个文件只不过实现了数据库的衔接,下面再写一个测试文件,便是用SQL语句从数据库里
查问出记录,以验证我们数据库的衔接是不是
顺利 。
connmysql.jsp文件源代码如下:
<%@ page contentType="text/html;
charset=gb2312" language="java" import="java.sql.*" %>
<% //以下几项请自行
批改String server="localhost";
//MYSQL 服务器的地址String dbname="test";
//MYSQL 数据库的名字String user="root";
//MYSQL 数据库的登录消费者名String pass="chfanwsp";
//MYSQL 数据库的登录密码String port="3306";
//SQL Server 服务器的端口号,默许为1433Connection
conn=DBConn.getConnToMySql
(server,dbname,user,pass,port);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="select * from username";
String sql1="insert into username (uid,pwd) values
('
妄想年华','
妄想年华')";stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);while(rs.next())
{out.print("消费者名:");out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"
");}
//rs.close();//stmt.close();//conn.close();DBConn.close();%>