|
当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据 uA8l>g1 当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。 ^i h'AyoC_ ~s -C{+s 以下用两种方式来实现JSP连接MySql数据库 Hd24m1l9 PaU/5M%y2m 第一种方式,用JSP实现: QJ@kG'Z 53j [yoY; <%@ page contentType="text/html; 3t] .a3 charset=gb2312" language="java" X6mQK[f&I import="java.sql.*"%> 4!v(%b[> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> iO=eR`dr <%//******************************* &W^ D#oh **************** 8{ROefY JDBC_ODBC连接MySql数据库,不需要设置数据源*********** a#$Tx)k^ **********************/ mK8buukVS //********** 数据库连接代码 开始 ******/ 4_1c < //以下几项请自行修改String server="localhost"; p3 Qy- //MYSQL 服务器的地址String dbname="test"; uL"+dptj* //MYSQL 数据库的名字String user="root"; Qm_"I) //MYSQL 数据库的登录用户名String pass="chfanwsp"; ll~ , M"0 //MYSQL 数据库的登录密码String port="3306"; B %8K/iH //SQL Server 服务器的端口号, 6i-& TUF 默认为1433//数据库连接字符串 fwF^pUo String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"? |&k/uUk$ user="+user+"&passWord="+pass+"&useUnicode w%j(4[R =true&characterEncoding=GB2312"; CH cqpI}s //加载驱动程序Class.forName("org.gjt.mm.mysql.Driver").newInstance(); w:8'Z T //建立连接Connection conn= DriverManager.getConnection(url); <z-a@t?fJ //创建语句对象Statement stmt=conn.createStatement ]vo+@,(B (ResultSet.TYPE_SCROLL_SENSITIVE, &s#DcSH H ResultSet.CONCUR_UPDATABLE); kSx tZ3 // **** 数据库连接代码 结束 ******* f47J<5 String sql="select * from username"; o%z5=n bA ResultSet rs=stmt.executeQuery(sql); *cmW:l+r . //rs.first();while(rs.next()){out.print("用户名:"); QPp*D5t@ out.print(rs.getString("uid")+" 密码:"); y 9K%?Nl out.println(rs.getString("pwd")+"<br>");} )Bzux"U} rs.close();stmt.close();conn.close();%> jJlNs} u p DZ=6?/ 46==P cL#h 第二种方式,用JavaBean来实现: 0 gQueu9: # '#|" package conn; //导入包import java.sql.*; yuDLL:Vl //导入数据库操作的类public class DBConnMySql WGz<%{S* //构造方法,初始化{private Connection conn; VL!awO //连接对象private Statement stmt; Jw&Pg$xt //语句对象private ResultSet rs; 6N7)6GSP //结果集对象private String MySqldriver; u7;$N //MYSQL Server驱动程序字符串private String MySqlURL; gIX03V]. //MYSQL Server连接字符串//********************************* Pm8P&"o 用 org.gjt.mm.mysql.Driver 驱动 I,?:38T*9Y * 该方法取得连接所需各种参数,组成连接字符串, YCkEP 然后再建立连接* server;dbname,user,pass,port ~"^Teo@GD 分别表示MYSQL 服务器的地址, zCTe9 P/7 * 数据库,用户名,密码,端口 ;PSgg3Ba3I **********************************/ iw` /)0e public Connection getConnToMySql =-$HI@\a* (String server,String dbname,String user,String pass,String port) \~~s@V6<d {//MYSQl驱动程序MySqldriver = "org.gjt.mm.mysql.Driver"; q$H2n ,: MySqlURL = "jdbc:mysql://"; 'RjYm_-9 //连接字符串一部分try{//完整的连接字符串MySqlURL pqAlui`! =MySqlURL+server+":"+port+"/"+dbname+"?user= <RQW,caJGd "+user+"&password="+pass+"&useUnicode 'qub" =true&characterEncoding=GB2312"; , |+';F/ Class.forName(MySqldriver);conn M vY;+ K] = DriverManager.getConnection(MySqlURL);} lBBxM_Fl catch(Exception e){System.out.println jt 8"sf$N ("操作数据库出错,请仔细检查"); tV%LC~Nwtk //System.err.println(e.getMessage());}return conn;} #B8P //关闭数据库连接public void close(){try{//rs.close(); n FO+m.Nv# //stmt.close();conn.close();}catch(SQLException Yh6}6. sqlexception){sqlexception.printStackTrace();}}} rjum !Th ;16 %8Fv1 `ca Ow=uz 这个文件只是实现了数据库的连接,下面再写一个测试文件,就是用SQL语句从数据库里查询出记录,以验证我们数据库的连接是否成功。 V~IJP4HqN yf|%m *" connmysql.jsp文件源代码如下: CJ`R$Q z'2 c,, <meta http-equiv="Content-Type" content="text/html; )gCj.o#z6 charset=gb2312"><%@ page contentType="text/html; B8Ud?]G 7 charset=gb2312" language="java" import="java.sql.*" %> =TCaf1vCU <jsp:useBean id="DBConn" scope="page" class="conn.DBConnMySql"/> n-'{d{O <% //以下几项请自行修改String server="localhost"; 8y^ELUD //MYSQL 服务器的地址String dbname="test"; i.!})c~ //MYSQL 数据库的名字String user="root"; {=CZ> Dmg //MYSQL 数据库的登录用户名String pass="chfanwsp"; \vt{e 4 //MYSQL 数据库的登录密码String port="3306"; -uq'03" //SQL Server 服务器的端口号,默认为1433Connection MNbu3;d-Ar conn=DBConn.getConnToMySql {",n w/ (server,dbname,user,pass,port); INvX5{7J Statement stmt=conn.createStatement gFSSLZ11Y (ResultSet.TYPE_SCROLL_INSENSITIVE, ksFAf#i ResultSet.CONCUR_READ_ONLY); c9n B String sql="select * from username"; N`2OS9rr String sql1="insert into username (uid,pwd) values $*K,hy ('梦想年华','梦想年华')";stmt.executeUpdate(sql1); vsu{S+;P ResultSet rs=stmt.executeQuery(sql);while(rs.next()) ;Yz S {out.print("用户名:");out.print(rs.getString("uid")+" 密码:"); w#EoIYE4 out.println(rs.getString("pwd")+"<br>");} KtI<d=R //rs.close();//stmt.close();//conn.close();DBConn.close();%> |