Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103650496
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-05-21 20:27:17

  来源:

我写的一个用JSPMySQL数据库的代码。

要正确的使用这段代码,你需要首先在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-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){

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 服务器的端口号,默认为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")+"
");

}

//rs.close();

//stmt.close();

//conn.close();

DBConn.close();

%>

阅读(357) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~