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();%>
  • 相关阅读:
    中国字实现——最大双向匹配
    [Nuxt] Build a Vue.js Form then use Vuex Actions to Post to an API in Nuxt
    [Nuxt] Build a Navigation Component in Vue.js and Use in a Nuxt Layout
    [Nuxt] Navigate with nuxt-link and Customize isClient Behavior in Nuxt and Vue.js
    [Nuxt] Load Data from APIs with Nuxt and Vuex
    [Nuxt] Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates
    [Nuxt] Add CSS Libraries to Nuxt
    [Nuxt] Update Vuex State with Mutations and MapMutations in Vue.js
    [Nuxt] Setup a "Hello World" Server-Rendered Vue.js Application with the Vue-CLI and Nuxt
    [TypeScript] Define a function type
  • 原文地址:https://www.cnblogs.com/javadu/p/2282892.html
Copyright © 2011-2022 走看看