教你轻松应对JSP连接MySQL数据库问题

网络整理 - 07-26

当您面临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();%>