在項(xiàng)目lib中加入mysql的jar包,然后寫jdbc鏈接信息即可,如下提供多種鏈接方式希望對你有幫助
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比洮北網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式洮北網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋洮北地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
JDBC連接MySQL
加載及注冊JDBC驅(qū)動(dòng)程序
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
JDBC?URL?定義驅(qū)動(dòng)程序與數(shù)據(jù)源之間的連接
標(biāo)準(zhǔn)語法:
protocol(主要通訊協(xié)議):subprotocol(次要通訊協(xié)議,即驅(qū)動(dòng)程序名稱):data?source?identifier(數(shù)據(jù)源)
MySQL的JDBC?URL格式:
jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][param2=value2]….
示例:jdbc:mysql://localhost:3306/sample_db?user=rootpassword=your_password
常見參數(shù):
user???????????????????????用戶名
password??????????????????密碼
autoReconnect??????????????????聯(lián)機(jī)失敗,是否重新聯(lián)機(jī)(true/false)
maxReconnect??????????????嘗試重新聯(lián)機(jī)次數(shù)
initialTimeout???????????????嘗試重新聯(lián)機(jī)間隔
maxRows???????????????????傳回最大行數(shù)
useUnicode?????????????????是否使用Unicode字體編碼(true/false)
characterEncoding??????????何種編碼(GB2312/UTF-8/…)
relaxAutocommit????????????是否自動(dòng)提交(true/false)
capitalizeTypeNames????????數(shù)據(jù)定義的名稱以大寫表示
建立連接對象
String?url="jdbc:mysql://localhost:3306/sample_db?user=rootpassword=your_password";
Connection?con?=?DriverManager.getConnection(url);
建立SQL陳述式對象(Statement?Object)
Statement?stmt?=?con.createStatement();
執(zhí)行SQL語句
executeQuery()
String?query?=?"select?*?from?test";
ResultSet?rs=stmt.executeQuery(query);
結(jié)果集ResultSet
while(rs.next())
{rs.getString(1);rs.getInt(2);}
executeUpdate()
String?upd="insert?into?test?(id,name)?values(1001,xuzhaori)";
int?con=stmt.executeUpdate(upd);
execute()
示例:
try
{
}
catch(SQLException?sqle)
{
}
finally
{
}
Java類型和SQL類型?技術(shù)手冊P421
PreparedStatement(預(yù)編語句)
PreparedStatement?stmt?=?conn.prepareStatement("insert?into?test(id,name)values(?,?)");
stmt.setInt(1,id);
stmt.setString(2,name);
注:一旦設(shè)定語句的參數(shù)值后,就可以多次執(zhí)行改語句,直到調(diào)用clearParameters()方法將他清除為止
CallableStatement(預(yù)儲程序)技術(shù)手冊P430
JDBC2.0使用
ResultSet對象中的光標(biāo)上下自由移動(dòng)
Statement?stmt?=?con.createStatement?(ResultSet.TYPE_SCROLL_SENSITIVE,?ResultSet.CONCUR_READ_ONLY);
ResultSet?rs=stmt.executeQuery("select?*?from?test");
public?Statement?createStatement(int?resultSetType,int?resultSetConcuttency)?throws?SQLException
resultSetType
TYPE_FORWARD_ONLY????????????只能使用next()方法。
TYPE_SCROLL_SENSITIVE????????可以上下移動(dòng),可以取得改變后的值。
TYPE_SCROLL_INSENSITIVE??????可以上下移動(dòng)。
resultSetConcuttency
CONCUR_READ_ONLY????????只讀
CONCUR_UPDATABLE????????ResultSet對象可以執(zhí)行數(shù)據(jù)庫的新增、修改、和移除
直接使用ResultSet對象執(zhí)行更新數(shù)據(jù)
新增數(shù)據(jù)
Statement?stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet?uprs=stmt.executeQuery("select?*?from?test");
uprs.moveToInsertRow();
uprs.updateInt(1,1001);
uprs.updateString(2,"許召日");
uprs.insertRow;
更新數(shù)據(jù)
Statement?stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet?uprs=stmt.executeQuery("select?*?from?test");
uprs.last();
uprs.updateString("name","");
uprs.updateRow;
刪除數(shù)據(jù)
Statement?stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);
ResultSet?uprs=stmt.executeQuery("select?*?from?test");
uprs.absolute(4);
uprs.deleteRow();
批處理
con.setAutoCommit(false);?關(guān)閉自動(dòng)認(rèn)可模式
Statement?stmt=con.createStatement();
int[]?rows;
stmt.addBatch("insert?into?test?values(1001,xuzhaori)");
stmt.addBatch("insert?into?test?values(1002,xuyalin)");
rows=stmt.executeBatch();
con.commit();?沒有任何錯(cuò)誤,執(zhí)行批處理stmt.executeBatch();
JNDI-數(shù)據(jù)源(Data?Source)與連接池(Connection?Pool)
Tomcat的JDBC數(shù)據(jù)源設(shè)置?技術(shù)手冊P439
連接池工具-Proxool?Var?0.8.3?技術(shù)手冊P446
設(shè)置web.xml
?xml?version="1.0"?encoding="ISO-8859-1"?
!--?xml?version="1.0"?encoding="GB2312"?--
web-app?xmlns=""
xmlns:xsi=""
xsi:schemaLocation=""
version="2.4"
….
servlet
servlet-nameServletConfigurator/servlet-name
servlet-classorg.logicalcobwebs.proxool.configuration.ServletConfigurator/servlet-class
init-param
param-namepropertyFile/param-name
param-valueWEB-INF/classes/Proxool.properties/param-value
/init-param
load-on-startup1/load-on-startup
/servlet
后端統(tǒng)計(jì)端口添加下列
servlet
servlet-nameAdmin/servlet-name
servlet-classorg.logicalcobwebs.proxool.admin.servlet.AdminServlet/servlet-class
/servlet
servlet-mapping
servlet-nameAdmin/servlet-name
url-pattern/Admin/url-pattern
/servlet-mapping
….
/web-app
配置Proxool.properties
jdbc-0.proxool.alias=JSPBook
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/sample_db?user=rootpassword=browseruseUnicode=truecharacterEncoding=UTF-8
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.prototype-count=4
jdbc-0.proxool.house-keeping-test-sql=select?CURRENT_DATE
jdbc-0.proxool.verbose=true
jdbc-0.proxool.statistics=10s,1m,1d????后端統(tǒng)計(jì)接口添加此行
jdbc-0.proxool.statistics-log-level=DEBUG
使用Proxool連接池
Connection?con?=?DriverManager.getConnection("proxool.JSPBook");
Statement?stmt?=?con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,?ResultSet.CONCUR_UPDATABLE);
String?query?=?"SELECT?*?FROM?employee";
ResultSet?rs?=?stmt.executeQuery(query);
一、軟件環(huán)境
下載并安裝MySQL,Tomacat,JDBC、MyEclipse或其他IDE。
二、環(huán)境配置
將其環(huán)境變量配置好之后,下載Java 專用的連接MySQL的驅(qū)動(dòng)包JDBC,有人會(huì)發(fā)現(xiàn)在一些下載的JDBC壓縮包里面發(fā)現(xiàn)若干文件, 比如:mysql-connector-java-gpl-5.1.34.msi的安裝文件,那這個(gè)文件是干什么用的呢,它又與mysql-connector-java-5.1.34-bin.jar有什么區(qū)別?其實(shí)兩個(gè)都是一樣的,只不過mysql-connector-java-gpl-5.1.34.msi是把mysql-connector-java-5.1.xx-bin.jar封裝在里面了,msi的安裝完后會(huì)有一個(gè)文件夾,里面會(huì)有mysql-connector-java-5.1.34-bin.jar這個(gè)文件,在這里我們只需要這個(gè)mysql-connector-java-5.1.xx-bin.jar就行了。
把mysql-connector-java-x.x.x-bin.jar拷貝到Tomcat的安裝bin目錄D:\Tomcat 6.0\lib下(如果你安裝的是msi文件,那么他可能會(huì)在MySQL的安裝目錄的Tools文件夾下,這個(gè)我們不建議這樣用,直接下載jar文件復(fù)制過去就行),然后在classpath里面加入D:\Tomcat 6.0\lib\mysql-connector-java-x.x.x-bin.jar即可。 拷貝這一步就是為JSP連接數(shù)據(jù)庫配置驅(qū)動(dòng)。 如果使用的是MyEclipse上自帶的tomcat則直接將jar文件復(fù)制到“項(xiàng)目\WebRoot\WEB-INF\lib”路徑下即可。
配置這個(gè)的目的是讓java Application找到連接mysql的驅(qū)動(dòng)。
三、JSP連接MySQL
建立數(shù)據(jù)庫Student,建立表stu_info?,F(xiàn)在就是嘗試用jsp連接mysql了。
建立測試頁面test.jsp
[java] view plain copy
%@ page contentType="text/html; charset=gb2312" %
%@ page language="java" %
%@ page import="com.mysql.jdbc.Driver" %
%@ page import="java.sql.*" %
%
//加載驅(qū)動(dòng)程序
String driverName="com.mysql.jdbc.Driver";
//數(shù)據(jù)庫信息
String userName="root";
//密碼
String userPasswd="123";
//數(shù)據(jù)庫名
String dbName="Student";
//表名
String tableName="stu_info";
//將數(shù)據(jù)庫信息字符串連接成為一個(gè)完整的url(也可以直接寫成url,分開寫是明了可維護(hù)性強(qiáng))
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn=DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
String sql="SELECT * FROM "+tableName;
ResultSet rs = stmt.executeQuery(sql);
out.print("id");
out.print("|");
out.print("name");
out.print("|");
out.print("phone");
out.print("br");
while(rs.next()) {
out.print(rs.getString(1)+" ");
out.print("|");
out.print(rs.getString(2)+" ");
out.print("|");
out.print(rs.getString(3));
out.print("br");
}
out.print("br");
out.print("ok, Database Query Successd!");
rs.close();
stmt.close();
conn.close();
%
這個(gè)問題好做啊 步驟如下:
1、首先在在mysql中創(chuàng)建好數(shù)據(jù)庫再創(chuàng)建好數(shù)據(jù)表(如:t_tranction,設(shè)好相應(yīng)的字段)
2、在jsp頁面中利用apache的開源項(xiàng)目commons-upload 編寫好上傳功能(當(dāng)然相應(yīng)的servlet、service、dao層這些個(gè)你要實(shí)現(xiàn)的)
3、處理上傳后的文件信息(就是一個(gè)批量insert操作)
希望對你有所幫助!謝謝!
獲取表單中的信息,然后插入到Mysql中?
%@?page?language="java"?contentType="text/html;?charset=gbk"
pageEncoding="gbk"%
!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?""
%
int?id?=?Integer.parseInt(request.getParameter("id"));
int?rootid?=?Integer.parseInt(request.getParameter("rootid"));
%
html
head
meta?http-equiv="Content-Type"?content="text/html;?charset=gbk"
titleReplay/title
/head
body
form?method="post"?action="ReplayOK.jsp"
input?type="hidden"?name="id"?value="%=id?%"
input?type="hidden"?name="rootid"?value="%=rootid?%"
table?align="center"
tr
td
input?type="text"?name="title"?size="80"
/td
/tr
tr
td
textarea?cols="80"?rows="20"?name="cont"/textarea
/td
/tr
tr
td
input?type="submit"?value="提交"
/td
/tr
/table
/form
/body
/html
---------------------------------------------------------------
下面接收上面表單中傳過來的信息,并插入到mysql中
%@?page?language="java"?contentType="text/html;?charset=gbk"
pageEncoding="gbk"%
%@?page?import="java.sql.*"?%
!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?""
%
request.setCharacterEncoding("GBK");
int?id?=?Integer.parseInt(request.getParameter("id"));
int?rootid?=?Integer.parseInt(request.getParameter("rootid"));
String?title?=?request.getParameter("title");
String?cont?=?request.getParameter("cont").replaceAll("\n","br/");
Connection?conn?=?null;
Statement?st?=?null;
Class.forName("com.mysql.jdbc.Driver");
conn?=?DriverManager.getConnection("jdbc:mysql://localhost/bbs?user=rootpassword=690115399");
st?=?conn.createStatement();
conn.setAutoCommit(false);
String?sql?=?"insert?into?article?values(null,?,?,?,?,now(),0)";
PreparedStatement?pstmt?=?conn.prepareStatement(sql);
pstmt.setInt(1,id);
pstmt.setInt(2,rootid);
pstmt.setString(3,title);
pstmt.setString(4,cont);
pstmt.executeUpdate();
st.executeUpdate("update?article?set?isleaf?=?1?where?id?=?"?+?id);
conn.commit();
conn.setAutoCommit(true);
st.close();
pstmt.close();
conn.close();
%
html
head
meta?http-equiv="Content-Type"?content="text/html;?charset=gbk"
titleInsert?title?here/title
/head
body
%response.sendRedirect("ShowArticleTree.jsp");?%
/body
/html
當(dāng)然最好的方法還是應(yīng)該用jsp?+?JavaBean方式。
一. 數(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)備好幾個(gè)必要的文件java 的jdk(我用的是1.5),Tomcat(我的是5.5) ,mysql(5.0),jdbc(mysql-connector-java-3.1.14.zip) 的驅(qū)動(dòng),當(dāng)然還有Dreamweaver 等等必要工具。
第一件事情:安裝jdk 1.5版本,安裝tomcat,mysql,解壓jdbc到包(官方網(wǎng)站有下載,注冊一個(gè)就行)
第二件事情:配置jdk,配置tomcat,jdbc
jdbc的配置:我的解壓目錄是 I:\mysql-connector-java-3.1.14 里面可以看到一個(gè)mysql-connector-java-3.1.14-bin.jar 這個(gè)jar 的文件。右鍵打開電腦屬性-----高級---環(huán)境變量---找到系統(tǒng)變量。。點(diǎn)擊CLASSPATH,進(jìn)行”編輯“ 加入I:\mysql-connector-java-3.1.14\mysql-connector-java-3.1.14-bin.jar 這個(gè)路徑去,這里說明的我是盤式i盤,jdbc可以隨便解壓到那個(gè)盤都行,指定路徑就是。
第二步:jdbc解壓包下 mysql-connector-java-3.1.14-bin.jar 這個(gè)文件放入到Tomcat安裝目錄下
Tomcat 5.5\common\lib
Tomcat 5.5\shared\lib
這兩個(gè)文件夾里面。
基本上的工作就完成了。呵呵(當(dāng)然這個(gè)要看網(wǎng)上的資料,這里要自己重新寫一次 唉好苦啊,沒得抄)
基本工作準(zhǔn)備好,找一個(gè)mysql 數(shù)據(jù)庫的界面操作 GUI軟件 名字為: navicat(這個(gè)很好用)打開mysql,測試一下自己的mysql 可不可以連通,可以的話那么就可以新建一個(gè)數(shù)據(jù)庫test,一個(gè)表為mytest,字段是id和myname(這個(gè)隨便也行)
jsp連接mysql數(shù)據(jù)庫的操作方式。
1、在數(shù)據(jù)服務(wù)端安裝好mysql數(shù)據(jù)庫,這個(gè)是必須的,在自己的ssh或者虛擬機(jī)上,數(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、剩下的就是我們使用的時(shí)候調(diào)用這樣的數(shù)據(jù)了,在jsp里使用mysql數(shù)據(jù)庫中的數(shù)據(jù)