随笔-211  评论-26  文章-8  trackbacks-0

要正确的使用这段代码,你需要首先在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。

以下用两种方式来实现JSP连接MySql数据库。

第一种方式,用JSP实现。

            

<%@ page contentType="text/html; charset=gb2312" language="java"  

import="java.sql.*"%>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%

//**************************************

*********   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")+"<br>");

}

rs.close();

stmt.close();

conn.close();

%>

第二种方式,用JavaBean来实现。请看代码:

DBConnMySql.java

编译以后的Class文件应该放在WEB-INFclassesconn目录下。

            

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)

return conn;

}    



//关闭数据库连接

public void close()

catch(SQLException sqlexception)

}

}

这个文件只是实现了数据库的连接,下面我们再写一个测试文件。

就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。

connmysql.jsp文件源代码如下:

            

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.sql.*"   %>

<jsp:useBean id="DBConn" scope="page" class="conn.DBConnMySql"/><%

//以下几项请自行修改

String server="localhost";         //MYSQL 服务器的地址

String dbname="test";         //MYSQL 数据库的名字

String user="root";             //MYSQL 数据库的登录用户名

String pass="chfanwsp";         //MYSQL 数据库的登录密码

String port="3306";             //SQL Server 服务器的端口号,默认为1433

Connection 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")+"<br>");

}

//rs.close();

//stmt.close();

//conn.close();

DBConn.close();

%>

posted on 2008-03-13 00:52 dragon 阅读(130) 评论(0)  编辑  收藏 所属分类: jspjsp mysql 乱码解决方案系列