zoukankan      html  css  js  c++  java
  • 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 服务器的端口号,默认为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")+"<br>");
    }
    rs.close();
    stmt.close();
    conn.close();
    DBConn.close();%>
  • 相关阅读:
    51nod 1179 最大的最大公约数 (数论)
    POJ 3685 二分套二分
    POJ 3045 贪心
    LIC
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    HDU 2389 Rain on your Parade
    HDU 2819 Swap
    HDU 1281 棋盘游戏
    HDU 1083 Courses
  • 原文地址:https://www.cnblogs.com/javadu/p/2282892.html
Copyright © 2011-2022 走看看