浪潮動(dòng)態(tài)的加載某些模塊_第1頁(yè)
浪潮動(dòng)態(tài)的加載某些模塊_第2頁(yè)
浪潮動(dòng)態(tài)的加載某些模塊_第3頁(yè)
浪潮動(dòng)態(tài)的加載某些模塊_第4頁(yè)
浪潮動(dòng)態(tài)的加載某些模塊_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1Class,java.lang–PropertyDescriptorsunApache的beanutils–不是sunJDk 2

以下是SUNJava.sql.Driver用于創(chuàng)建被DriverManager用于管理一組Driver一個(gè)url要想獲取接就得一個(gè)url字符串Java.sql.Statment–mysql或者.oacleDB數(shù)據(jù)庫(kù)服務(wù)器發(fā)出Sql查詢(xún)時(shí)即執(zhí)行select連接數(shù)據(jù)庫(kù)的步驟:1:2:DriverManager.getConnection獲取連接3:statement4:通過(guò)調(diào)用方法excuteQuery()excute()batch()AddBatch()如何和管理驅(qū)動(dòng)器類(lèi)在測(cè)試有幾個(gè)驅(qū)動(dòng)器時(shí)沒(méi)有mysql驅(qū)動(dòng)器也有是因?yàn)镴DBC4.0META-INF/services/java.sql.Driver以下是時(shí)出現(xiàn)的問(wèn)題:(DriverManager.registerDriver(newcom.mysql.jdbc.Driver());)newDriver時(shí)執(zhí)行了一次靜態(tài)代碼塊里面就是一次,registerDriver時(shí)又執(zhí)行了一次1:Demo1這個(gè)類(lèi)了兩次MySql的Driver–重復(fù)2Demo1這個(gè)類(lèi)對(duì)Mysql的驅(qū)動(dòng)產(chǎn)生了依賴(lài)(Class.forname(commysql.jdbc.Driver沒(méi)有newClassname時(shí)只執(zhí)行了一次靜態(tài)代碼塊,靜態(tài)代碼快在編譯時(shí)字節(jié)碼在加載某一Driver類(lèi)時(shí),它應(yīng)該創(chuàng)建自己的實(shí)例并向DriverManager該實(shí)例。這意味著用戶(hù)可以通過(guò)調(diào)用以下程序加載和一個(gè)驅(qū)動(dòng)程序使用以下方式的優(yōu)點(diǎn)2:不會(huì)重復(fù)的System.err.println(d);//d是一個(gè)接口,因?yàn)榻杩谑遣粫?huì)DriverManager類(lèi)的方法getConnection和getDrivers已經(jīng)得到提高以支持JavaStandardEditionServiceProviderJDBC4.0DriversMETA-INF/services/java.sql.Driver文件包含java.sql.Driver的JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)的名稱(chēng)。例如,要加載my.sql.Driver類(lèi),META-INF/services/java.sql.Driverpublicvoidtest2()throws Stringurl="jdbc:mysql://45:3306/emps?characterEncoding=UTF-8";url="jdbc:oracle:thin:@01:1521:XE";Connectioncon=DriverManager.getConnection(url,"sysassysdba","1234");//如果連接是Mysql//如果連接是Oracle:}file文件命名為*.properties記得修改編碼類(lèi)型右擊propertiesUTF-8;第二步:這個(gè)資源文utilsimportjava.io.InputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.util.Properties;publicclassConnUtilsprivatestaticConnectioncon;//是靜態(tài)的所以只有一個(gè)因?yàn)榻涌诤?/資源文InputStreamin=//用類(lèi)加載器來(lái)PropertiespnewProperties();//里面的信Stringdriver=p.getProperty("my_driver");Stringurl=p.getProperty("my_url");Stringname=p.getProperty("my_name");Stringpwd=p.getProperty("my_pwd");con=DriverManager.getConnection(url,}catch(ExceptionthrownewRuntimeException(e);//異常轉(zhuǎn)換(因?yàn)槔锩鎸?xiě)了一個(gè)new換}}publicstaticConnectionreturn}}packageimportimportcom.mysql.jdbc.Connection;importcn.utils.connectutil;publicclassDiaoyong{publicvoidConnectioncon=connectutil.getConnection();}}使用這樣的方式以后再連接其他的數(shù)據(jù)庫(kù)的時(shí)候,直接修改properties接口圖形化數(shù)據(jù)庫(kù)管理工具executeUpdate就是用于執(zhí)行insert,delte,update語(yǔ)句的:返回一個(gè)int類(lèi)型的值,說(shuō)明影響了數(shù)據(jù)庫(kù)的幾行executeUpdate(Stringsql)-用于執(zhí)行好的sql語(yǔ)SQLINSERT、UPDATEDELETE語(yǔ)句(SQLDDL)executeUpdate(Stringsql,intautoGeneratedKeys)-第二個(gè)參數(shù)是指是否返回?cái)?shù)據(jù)表中寫(xiě)入idSQLStatementidINTPRIMARYKEYAUTO_INCREMENT,//primarykeyNAMEage往里面寫(xiě)數(shù)據(jù),mysql12:獲取連接DriverManager.geConnection();34:執(zhí)行sql語(yǔ)句以下是執(zhí)行一個(gè)靜態(tài)的sqlpackagecn;importimportimportcomimportpublicclassDiaoyong{publicvoidtest1()throws//獲取連接DriverManager.getConnection();前面的這兩步都是在靜態(tài)代碼塊執(zhí)行的Connectioncon=connectutil.getConnection();Statement//執(zhí)行sql('inta=st.executeUpdate(sql);//executeUpdate用于執(zhí)行所給出的sql語(yǔ)句;返回執(zhí)行的sql數(shù)}}動(dòng)態(tài)的sqlpackagecn.demo;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.Statement;importjava.util.Scanner;importimportpublicclassDemo2Scannersc=newpublicvoidtest2()throws//2:獲取連接DriverManager.getConnection(..);Connectioncon=Statementst=con.createStatement();Stringnm=scnextLine();Stringaa=//4:執(zhí)行sqlStringsql="insertintocar(name,age)values('"+nm+"',"+aa+")";inta=st.executeUpdate(sql);}}publicvoidtest3()throwsException{Connectioncon=Statementst=con.createStatement();Stringsql="updatecarsetname='Benz',age=130whereid=2";inta=st.executeUpdate(sql);}publicvoidtest4()throwsException{Connectioncon=Statementst=con.createStatement();Stringsqldeletefromcarwhereid=1";inta=st.executeUpdate(sql);}//通過(guò)autoGenerationKeypublicvoidtest5()throwsException{Connectioncon=Statementst=con.createStatement();Stringsql="insertintocar(name,age)intast.executeUpdate(sql,Statement.RETURN_GENERATED_KEYS);//返回生成的主鍵//獲取返回的ResultSetrs=st.getGeneratedKeys();intidrs.getInt(1);//1columnIndexthefirstis1,thesecondis 在mysql1System.err.println("新的id}}}executeQuery(Stringsql)slectexecuteQuery(Stringsql)slect執(zhí)行給定的SQL語(yǔ)句,該語(yǔ)句返回單個(gè)ResultSet對(duì)象getXxxxgetString(1),getInt(..)getObject所類(lèi)型selectpublicvoidtest1()throwsException{Connectionco=ConnUtils.getConnection();Statementst=co.createStatement(); Stringsql="select*fromcar";ResultSetrs=st.executeQuery(sql);intid=Stringname=intage=rs.getInt(3);}}以下的execute可以執(zhí)行所有的sql語(yǔ)句,返回的boolean是指是進(jìn)行的查詢(xún)嗎,即select如果執(zhí)行的是select則為true,否則都是false。execute(StringSQLexecute(Stringsql,intSQL(該語(yǔ)句可能返回多個(gè)結(jié)果),并通知驅(qū)動(dòng)程序所有自動(dòng)生成的鍵都應(yīng)該publicvoidtest2()throwsException{Connectionco=ConnUtils.getConnection();///獲取操作對(duì)象(獲取操作sql語(yǔ)句的操作對(duì)象)CreatesaStatementobjectforsendingSQLstatementstothedatabase.Statementst=System.err.println("st booleanboo=st.execute("select*fromcar");//Parameters:sqlanySQLstatementResultSetrsst.getResultSet();//檢索當(dāng)前的結(jié)果作為一個(gè)ResultSet象

}}}addBatch(Stringsql)sqlSQLStatementpublicvoidtest3()throwsException{Connectionco=ConnUtils.getConnection();Statementst=co.createStatement();CreatesaStatementobjectforsendingSQLstatementstothedatabase.for(intst.addBatch("insertintocar(name,agevalues('Jack"+i+"',44)");//}st.addBatch("updatecarsetage=55");//影響了10int[]rows=st.executeBatch();//11數(shù)組的長(zhǎng)度,顯示的是執(zhí)行了幾個(gè)sql語(yǔ)句System.err.println("執(zhí)行了SQL語(yǔ)句數(shù)量:"+rows.length);//11{。。}、里面的每intsum=for(inta:rows){}}3011個(gè)sql1:類(lèi)statement由mysql,oracle…實(shí)現(xiàn)現(xiàn)。4個(gè)方法1:executeUpdate-可以通過(guò)接收用戶(hù)newScanner(System.in);的參數(shù)來(lái)動(dòng)態(tài)的向數(shù)2:resulset由mysql,oracle…實(shí)現(xiàn)現(xiàn)。2個(gè)方法2:getXxxxx–etc..在以下設(shè)置參數(shù)的示例中,conSETSALARY=?WHEREID=pstmt.setInt(2,5:PreparedStatment類(lèi)--sql1:可以使用?占位筆符號(hào)來(lái)處理sql注入的問(wèn)題。示預(yù)編譯的SQL語(yǔ)句的對(duì)象。2:SQL語(yǔ)句被預(yù)編譯并在PreparedStatement對(duì)象中。然后可以使用此對(duì)象多次高效地執(zhí)行該語(yǔ)3:可能保存大數(shù)據(jù)到數(shù)據(jù)庫(kù)中去。-保存大數(shù)據(jù)BLOB-BinaryLob字節(jié)類(lèi)型的大數(shù)據(jù)CLOB-CharacterLobpublicvoidtest_login()throwsException{Connectionco=ConnUtils.getConnection();Scannersc=newScanner(System.in);Stringnm=sc.nextLine();Stringpwdsc.nextLine();//用組拼sql Stringsql=”select*froms_userwherelogonName=’”+nm+”’andStringsql="select*froms_userwherelogonName=?andPreparedStatementpst=pst.setString(2,pwd);ResultSetrspst.executeQuery();//}}在SQLyog界面操作,將jaa’k輸入到users1or1’=’12’or1’;’deletefrom輸出:select*froms_userwherelogonName=’jack’andlogonPwd=’1’;’deletefrom用preparedStatementpublicvoidtest2()throwsConnectioncon=Stringnm=sc.nextLine();Stringaa=Stringsql="insertintocar(name,age)values(?,?)";PreparedStatementpst=con.prepareStatement(sql);pst.setInt(2,intapst.executeUpdate();//不能再有參數(shù)了}OracleCLOB在oracle中叫clobMYsql–TextNAMEVARCHAR(30),content用pstpublicvoidsavefile()throwsException{Connectionco=ConnUtils.getConnection();Stringsql="insertintonote(name,content)values(?,?)";PreparedStatementpstco.prepareStatement(sql);//importjava.sql因?yàn)镺penDeclarationpst.setString(1,"aaaa.txt");pst.setCharacterStream(2,newFileReader("./a.txt"));//("./src/a.file/a.txt")//(./xml/uers.xml)}publicvoidread()throwsException{Connectionco=ConnUtils.getConnection();Stringsql="select*fromnotewhereid=1";Statementst=co.createStatement();ResultSetrs=st.executeQuery(sql);if(rs.next())Readerr=rs.getCharacterStream("content");BufferedReaderbr=newBufferedReader(r);Stringline=null;}}}$$$$$$$$$轉(zhuǎn)換字體使能夠顯示中文第一步:創(chuàng)建一個(gè)表,字段類(lèi)型為blobclobNAMEVARCHAR(30),contentpublicvoidsaveimg()throwsException{Connectionco=ConnUtils.getConnection();Stringsql="insertintoimg(name,content)values(?,?)";PreparedStatementpst=co.prepareStatement(sql);pst.setString(1,"aaaa.png");pst.setBinaryStream(2,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論