用jsp连接MySQL数据库

一个用jsp连接MySQL数据库的代码。
要正确的使用这段代码,你需要首先在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-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 文件源代码如下:
程序代码 程序代码
<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();
%>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值