通過MySql數(shù)據(jù)庫驅(qū)動程序連接

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、竹山網(wǎng)站維護(hù)、網(wǎng)站推廣。
①driverClass=”com.mysql.jdbc.Driver”
②url=”jdbc:mysql://127.0.0.1:3306/mytest”
舉個例子
連接數(shù)據(jù)庫查詢表的相關(guān)語句:
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mytest","root","");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from userinfo");
while(rs.next())
{
out.print("br用戶名:"+rs.getString("username")+"密碼:"+rs.getString("password"));
}
rs.close();
stmt.close();
conn.close();
我寫的一個用JSP連接MySQL數(shù)據(jù)庫的代碼。
要正確的使用這段代碼,你需要首先在MySQL數(shù)據(jù)庫里創(chuàng)建一username表,表里面創(chuàng)建兩個字符型的字段,字段名分別為:uid,pwd,然后插入幾條測試數(shù)據(jù)。
以下用兩種方式來實現(xiàn)JSP連接MySql數(shù)據(jù)庫。
第一種方式,用JSP實現(xiàn)。
%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"%
%
//**************************************
********* JDBC_ODBC連接MySql數(shù)據(jù)庫,不需要設(shè)置數(shù)據(jù)源
*********************************/
//********** 數(shù)據(jù)庫連接代碼 開始 ******/
//以下幾項請自行修改
String server="localhost"; //MYSQL 服務(wù)器的地址
String dbname="test"; //MYSQL 數(shù)據(jù)庫的名字
String user="root"; //MYSQL 數(shù)據(jù)庫的登錄用戶名
String pass="chfanwsp"; //MYSQL 數(shù)據(jù)庫的登錄密碼
String port="3306"; //SQL Server 服務(wù)器的端口號,默認(rèn)為1433
//數(shù)據(jù)庫連接字符串
String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+
"password="+pass+"useUnicode=truecharacterEncoding=GB2312";
//加載驅(qū)動程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立連接
Connection conn= DriverManager.getConnection(url);
//創(chuàng)建語句對象
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// **** 數(shù)據(jù)庫連接代碼 結(jié)束 *******
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")+"
");
}
rs.close();
stmt.close();
conn.close();
%
第二種方式,用JavaBean來實現(xiàn)。請看代碼:
DBConnMySql.java
編譯以后的Class文件應(yīng)該放在WEB-INF\classes\conn目錄下。
package conn; //導(dǎo)入包
import java.sql.*; //導(dǎo)入數(shù)據(jù)庫操作的類
public class DBConnMySql //構(gòu)造方法,初始化
{
private Connection conn; //連接對象
private Statement stmt; //語句對象
private ResultSet rs; //結(jié)果集對象
private String MySqldriver;//MYSQL Server驅(qū)動程序字符串
private String MySqlURL; //MYSQL Server連接字符串
//********************************
*用 org.gjt.mm.mysql.Driver 驅(qū)動
* 該方法取得連接所需各種參數(shù),組成連接字符串,然后再建立連接
* server;dbname,user,pass,port 分別表示MYSQL 服務(wù)器的地址,
* 數(shù)據(jù)庫,用戶名,密碼,端口
**********************************/
public Connection getConnToMySql(String server,String dbname,
String user,String pass,String port){
//MYSQl驅(qū)動程序
MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://"; //連接字符串一部分
try{
//完整的連接字符串
MySqlURL =MySqlURL+server+":"+port+"/"+dbname+
"?user="+user+"password="+pass+
"useUnicode=truecharacterEncoding=GB2312";
Class.forName(MySqldriver);
conn = DriverManager.getConnection(MySqlURL);
}catch(Exception e){
System.out.println("操作數(shù)據(jù)庫出錯,請仔細(xì)檢查");
//System.err.println(e.getMessage());
}
return conn;
}
//關(guān)閉數(shù)據(jù)庫連接
public void close()
{
try{
//rs.close();
//stmt.close();
conn.close();
}catch(SQLException sqlexception){
sqlexception.printStackTrace();
}
}
}
這個文件只是實現(xiàn)了數(shù)據(jù)庫的連接,下面我們再寫一個測試文件。
就是用sql語句從數(shù)據(jù)庫里查詢出記錄,以驗證我們數(shù)據(jù)庫的連接是否成功。
connmysql.jsp文件源代碼如下:
%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %
%
//以下幾項請自行修改
String server="localhost"; //MYSQL 服務(wù)器的地址
String dbname="test"; //MYSQL 數(shù)據(jù)庫的名字
String user="root"; //MYSQL 數(shù)據(jù)庫的登錄用戶名
String pass="chfanwsp"; //MYSQL 數(shù)據(jù)庫的登錄密碼
String port="3306"; //SQL Server 服務(wù)器的端口號,默認(rèn)為1433
Connection 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")+"
");
}
//rs.close();
//stmt.close();
//conn.close();
DBConn.close();
%
一. 數(shù)據(jù)庫的連接和操作筆記:
1.初始化連接字符串
2. 發(fā)送請求連接
3.如果需要對數(shù)據(jù)庫進(jìn)行操作,如查詢,添加,刪除,修改等,則發(fā)送數(shù)據(jù)庫操作請 求,成功就返回結(jié)果,不成功操作失敗
4. 不進(jìn)行操作就關(guān)閉數(shù)據(jù)庫操作,以及關(guān)閉數(shù)據(jù)庫發(fā)送請求
二.配置環(huán)境
”工欲善其事必先利其器“ 在配置之前必須準(zhǔn)備好幾個必要的文件java 的jdk(我用的是1.5),Tomcat(我的是5.5) ,mysql(5.0),jdbc(mysql-connector-java-3.1.14.zip) 的驅(qū)動,當(dāng)然還有Dreamweaver 等等必要工具。
第一件事情:安裝jdk 1.5版本,安裝tomcat,mysql,解壓jdbc到包(官方網(wǎng)站有下載,注冊一個就行)
第二件事情:配置jdk,配置tomcat,jdbc
jdbc的配置:我的解壓目錄是 I:\mysql-connector-java-3.1.14 里面可以看到一個mysql-connector-java-3.1.14-bin.jar 這個jar 的文件。右鍵打開電腦屬性-----高級---環(huán)境變量---找到系統(tǒng)變量。。點擊CLASSPATH,進(jìn)行”編輯“ 加入I:\mysql-connector-java-3.1.14\mysql-connector-java-3.1.14-bin.jar 這個路徑去,這里說明的我是盤式i盤,jdbc可以隨便解壓到那個盤都行,指定路徑就是。
第二步:jdbc解壓包下 mysql-connector-java-3.1.14-bin.jar 這個文件放入到Tomcat安裝目錄下
Tomcat 5.5\common\lib
Tomcat 5.5\shared\lib
這兩個文件夾里面。
基本上的工作就完成了。呵呵(當(dāng)然這個要看網(wǎng)上的資料,這里要自己重新寫一次 唉好苦啊,沒得抄)
基本工作準(zhǔn)備好,找一個mysql 數(shù)據(jù)庫的界面操作 GUI軟件 名字為: navicat(這個很好用)打開mysql,測試一下自己的mysql 可不可以連通,可以的話那么就可以新建一個數(shù)據(jù)庫test,一個表為mytest,字段是id和myname(這個隨便也行)
jsp連接mysql數(shù)據(jù)庫的操作方式。
1、在數(shù)據(jù)服務(wù)端安裝好mysql數(shù)據(jù)庫,這個是必須的,在自己的ssh或者虛擬機上,數(shù)據(jù)mysql可以看到相關(guān)的提示,說明安裝成功
2、我是用的是tomcat服務(wù)器,在這里需要安裝好java連接mysql的數(shù)據(jù)庫操作庫。我是用的jar包是:mysql-connector-java-3.1.14.tar.gz,大家可以在網(wǎng)上下載,或者,在官網(wǎng)上下載
3、把解包后的jar放到tomcat里面的lib文件夾下
4、在程序的代碼段里添加連接函數(shù)庫和庫函數(shù),就可以連接到mysql數(shù)據(jù)庫了
5、剩下的就是我們使用的時候調(diào)用這樣的數(shù)據(jù)了,在jsp里使用mysql數(shù)據(jù)庫中的數(shù)據(jù)
(1)把mysql的驅(qū)動放到tomcat的lib中 驅(qū)動是這個
解壓后在lib中有mysql-connector-java-5.1.6.jar.把這個文件放到tomcat的lib中5.X的在tomcat/common/lib 6.0在tomcat/lib
(2)建一個很簡單的表person就兩個字段username和password,數(shù)據(jù)庫名和數(shù)據(jù)庫密碼換成你的就是了
create database ibatis;--創(chuàng)建數(shù)據(jù)庫
use ibatis;--使用數(shù)據(jù)庫,以下表在該數(shù)據(jù)庫中
create table person(username varchar(20),password varchar(20));--創(chuàng)建person表
(3)創(chuàng)建index.jsp和regist.jsp
1:
index.jsp 提交表單頁面
%@ page pageEncoding="GBK"%
html
head
/head
body
form action="regist.jsp" method="post"
username :input type = "text" name="name"/
password :input type = "password" name="password"/
input type = "submit" value="提交"/
/form
/body
/html
2:regist.jsp //用戶注冊同時顯示所有用戶
%@ page contentType="text/html; charset=GBK" %
%@ page import="java.sql.*"%
body
center
%
request.setCharacterEncoding("GBK");
String uname=request.getParameter("name"); //從表單獲得
String pwd=request.getParameter("password"); //從表單獲得
String driver="com.mysql.jdbc.Driver"; //我用的是mysql官方驅(qū)動你自己換一下就是了 在這里有
String url="jdbc:mysql://localhost:3306/ibatis?user=rootpassword=yanghao"; //這是數(shù)據(jù)庫連接地址Ibatis是數(shù)據(jù)庫名稱,user是用戶.password就是你的用戶名,根據(jù)實際情況你修改
String sql="INSERT INTO person (username,password) VALUES('"+uname+"','"+pwd+"')"; //把index.jsp提交的兩個數(shù)據(jù)插進(jìn)數(shù)據(jù)庫的數(shù)據(jù)庫語句
Connection conn=null; //數(shù)據(jù)庫連接
Statement stmt=null;
ResultSet rs = null; //查詢結(jié)果
%
%
Class.forName(driver); //加載驅(qū)動
conn=DriverManager.getConnection(url); //獲得連接
stmt=conn.createStatement();
stmt.execute(sql);//存入數(shù)據(jù)庫
rs=stmt.executeQuery("select * from person"); //查詢所有person語句
%
%
if(rs!=null){ //判斷以下
while(rs.next()){
String username=rs.getString(1);
String password=rs.getString(2);
%
table
tr
td%=username %/td
td%=password %/td
/tr
/table
%
//關(guān)閉數(shù)據(jù)庫連接,和開始的順序是反的
rs.close();//關(guān)閉結(jié)果集
stmt.close();//關(guān)閉Statement
conn.close();//關(guān)閉數(shù)據(jù)庫連接
//ok完成了插入和查詢操作
}
}
%
/center
/body
新聞標(biāo)題:jsp怎么使用mysql,jsp怎么使用ajax
文章鏈接:http://chinadenli.net/article45/dseochi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站改版、網(wǎng)站導(dǎo)航、微信小程序、手機網(wǎng)站建設(shè)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)