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();%>
新聞熱點
疑難解答