我写的一个用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();
  %> 
  | 
   
        声明:中国IT运维网登载此文出于传递更多信息之目的,并不意味着本站赞同其观点或证实其描述。其原创性以及文中陈述
文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或
承诺,请网友及读者仅作参考,并请自行核实相关内容。如原作者不同意在本网站刊登内容,请及时通知本站予以删除。凡本网站注明"来源:中国IT运维网"的作品,在授权范围内使用时,请保留注明"来源:中国IT运维网"。