|
当您面临JSP连接MySQL库问题,你首先需要在MySQL库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试。
以下用两种方式来实现JSP连接MySql库
第一种方式,用JSP实现:
<%@pagecontentType="text/html; charset=gb2312"language="java" import="java.sql.*"%> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"> <%//******************************* **************** JDBC_ODBC连接MySql库,不需要设置源*********** **********************/ //**********库连接代码 开始******/ //以下几项请自行修改Stringserver="localhost"; //MYSQL器的地址Stringdbname="test"; //MYSQL库的名字Stringuser="root"; //MYSQL库的登录用户名Stringpass="chfanwsp"; //MYSQL库的登录密码Stringport="3306"; //SQLServer器的端口号, 默认为1433//库连接字符串 Stringurl="jdbc:mysql://"+server+":"+port+"/"+dbname+"? user="+user+"&password="+pass+"&useUnicode =true&characterEncoding=GB2312"; //加载驱动程序Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //建立连接Connectionconn=DriverManager.getConnection(url); //创建语句对象Statementstmt=conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); //**** 库连接代码 结束******* Stringsql="select*fromusername"; ResultSetrs=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目录下。
packageconn; //导入包importjava.sql.*; //导入库操作的类publicclassDBConnMySql //构造方法,初始化{privateConnectionconn; //连接对象privateStatementstmt; //语句对象privateResultSetrs; //结果集对象privateStringMySqldriver; //MYSQLServer驱动程序字符串privateStringMySqlURL; //MYSQLServer连接字符串//********************************* 用org.gjt.mm.mysql.Driver驱动 *该方法取得连接所需各种参数,组成连接字符串, 然后再建立连接*server;dbname,user,pass,port 分别表示MYSQL器的地址, *库,用户名,密码,端口 **********************************/ publicConnectiongetConnToMySql (Stringserver,Stringdbname,Stringuser,Stringpass,Stringport) {//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(Exceptione){System.out.println ("操作库出错,请仔细检查"); //System.err.println(e.getMessage());}returnconn;} //关闭库连接publicvoidclose(){try{//rs.close(); //stmt.close();conn.close();}catch(SQLException sqlexception){sqlexception.printStackTrace();}}}
这个文件只是实现了库的连接,下面再写一个测试文件,就是用SQL语句从库里查询出记录,以验证我们库的连接是否成功。
connmysql.jsp文件源代码如下:
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"><%@pagecontentType="text/html; charset=gb2312"language="java"import="java.sql.*"%> <jsp:useBeanid="DBConn"scope="page"class="conn.DBConnMySql"/> <%//以下几项请自行修改Stringserver="localhost"; //MYSQL器的地址Stringdbname="test"; //MYSQL库的名字Stringuser="root"; //MYSQL库的登录用户名Stringpass="chfanwsp"; //MYSQL库的登录密码Stringport="3306"; //SQLServer器的端口号,默认为1433Connection conn=DBConn.getConnToMySql (server,dbname,user,pass,port); Statementstmt=conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); Stringsql="select*fromusername"; Stringsql1="insertintousername(uid,pwd)values ('梦想年华','梦想年华')";stmt.executeUpdate(sql1); ResultSetrs=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();%>
|