黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java數(shù)據(jù)庫(kù)技術(shù)總結(jié),內(nèi)涵相關(guān)免費(fèi)視頻

Java數(shù)據(jù)庫(kù)技術(shù)總結(jié),內(nèi)涵相關(guān)免費(fèi)視頻

更新時(shí)間:2020-02-05 09:40:01 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2479次


Java數(shù)據(jù)庫(kù)技術(shù)總結(jié),內(nèi)涵相關(guān)免費(fèi)視頻


  一、JDBC連接數(shù)據(jù)庫(kù)步驟(以MYSQL為例)


  1、加載JDBC驅(qū)動(dòng)程序:


  通過Class類的forName方法實(shí)現(xiàn),并將驅(qū)動(dòng)地址放進(jìn)去


  成功加載后,會(huì)將Driver類的實(shí)例注冊(cè)到DriverManager類中。


  2、提供JDBC連接的URL、創(chuàng)建數(shù)據(jù)庫(kù)的連接


  ?要連接數(shù)據(jù)庫(kù),需要向java.sql.DriverManager請(qǐng)求并獲得Connection對(duì)象,


  該對(duì)象就代表一個(gè)數(shù)據(jù)庫(kù)的連接。


  ?使用DriverManager的getConnectin()方法傳入指定的欲連接的數(shù)據(jù)庫(kù)的路徑、數(shù)據(jù)庫(kù)的用戶名和密碼。


  Connectioncon=DriverManager.getConnection(url,username,password);


  &&&:"jdbc:mysql://localhost/test?user=root&password=123&useUnicode=true&characterEncoding=utf-8”;


  3、創(chuàng)建一個(gè)Statement


  ?要執(zhí)行SQL語句,必須獲得java.sql.Statement實(shí)例


  ?執(zhí)行靜態(tài)SQL語句。通常通過Statement實(shí)例實(shí)現(xiàn)。


  ?執(zhí)行動(dòng)態(tài)SQL語句。通常通過PreparedStatement實(shí)例實(shí)現(xiàn)。


  Stringsql=“”;


  Statementst=con.createStatement();


  PreparedStatementpst=con.prepareStatement(sql);


  4、執(zhí)行SQL語句


  Statement接口提供了executeQuery、executeUpdate、execute三種方法


  executeQuery:執(zhí)行select語句,返回ResultSet結(jié)果集


  ResultSetrst=pst.executeQuery();


  ?executeUpdate:執(zhí)行insert、update、delete語句


  pst.executeUpdate();


  5、關(guān)閉JDBC對(duì)象


  操作完成以后要把所有使用的JDBC對(duì)象全都關(guān)閉,以釋放JDBC資源。


  二、數(shù)據(jù)庫(kù)連接池


  數(shù)據(jù)庫(kù)連接池的優(yōu)點(diǎn)運(yùn)行原理:在我們不使用數(shù)據(jù)庫(kù)連接池的時(shí)候,每次訪問數(shù)據(jù)庫(kù)都需要?jiǎng)?chuàng)建連接,使用完成之后需要釋放關(guān)閉連接,而這樣是很耗費(fèi)資源的。當(dāng)我們使用數(shù)據(jù)庫(kù)連接池的時(shí)候,在tomcat啟動(dòng)的時(shí)候就創(chuàng)建了指定數(shù)量的連接,之后當(dāng)我們程序使用的時(shí)候就直接從連接池里面取,而不需要?jiǎng)?chuàng)建,同理,當(dāng)我們使用完的時(shí)候也不需要關(guān)閉連接,而是將連接返回到連接池中,供其他請(qǐng)求繼續(xù)使用。


  DBCP:比較穩(wěn)定。


  C3P0:性能比較高。


  三、mysql的數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出


  配置:


  首先找到mysql的安裝目錄,進(jìn)入bin目錄下復(fù)制路徑


  將mysql的bin目錄粘貼在計(jì)算機(jī)環(huán)境變量的path中


  授權(quán):


  登錄mysql


  將某張表的某個(gè)權(quán)限賦給某個(gè)用戶


  grant[select,insert,update,delete,create,drop]on[databaseName].[tableName]to[userName]@[userIP]identifiedby[‘連接口令’]


  grantselect,insert,update,delete,create,droponoa_ssh.usertoroot@[IP]identifiedby‘root’;


  將所有庫(kù)的所有權(quán)限賦給某個(gè)用戶


  grantallprivilegeson.to[userName]@[userIp]identifiedby[‘連接口令’]


  grantallprivilegeson.toroot@[IP]identifiedby‘root’;


  將所有庫(kù)的所有權(quán)限賦給所有用戶


  grantallprivilegeson.toroot@’%’identifiedby‘root’;


  導(dǎo)出本地?cái)?shù)據(jù)庫(kù):


  mysqldump-u用戶名-p數(shù)據(jù)庫(kù)名>磁盤:導(dǎo)出的文件名(加后綴)


  遠(yuǎn)程導(dǎo)出數(shù)據(jù)庫(kù):


  mysqldump-hIP-u用戶名-p數(shù)據(jù)庫(kù)名稱>導(dǎo)出的文件名(加后綴)


  遠(yuǎn)程導(dǎo)出數(shù)據(jù)表:


  mysqldump-uroot-p-d--add-drop-table數(shù)據(jù)庫(kù)名稱>導(dǎo)出文件


  名(加后綴)


  導(dǎo)入數(shù)據(jù):


  mysql-uroot-p登錄成功后==》source磁盤:導(dǎo)入的文件名(加后綴)


  四、jdbc分段批量提交的時(shí)候出現(xiàn)異常怎么處理?


  通過Map來解決性能問題。首先在分段批量提交的時(shí)候,我們不采用事務(wù),這樣就保證了合法的數(shù)據(jù)就自動(dòng)提交,不合法的數(shù)據(jù)就自己自動(dòng)進(jìn)行回滾,為了避免不合法數(shù)據(jù)影響后續(xù)合法數(shù)據(jù)的提交,采用定義業(yè)務(wù)規(guī)則字典表,實(shí)現(xiàn)對(duì)數(shù)據(jù)的驗(yàn)證,將不合法的數(shù)據(jù)記錄下來,供用戶進(jìn)行后續(xù)處理,而合法的數(shù)據(jù)就全部提交。


  五、jdbc批量處理數(shù)據(jù)


  批量處理數(shù)據(jù):(代碼優(yōu)化:提高程序執(zhí)行性能)


  降低了java程序代碼(客戶端)和數(shù)據(jù)庫(kù)之間的網(wǎng)絡(luò)通信的次數(shù)。


  在jdbc中進(jìn)行批量插入的核心API為addBatch,executeBatch


  大數(shù)據(jù)量的插入問題:(jdbc,hibernate,ibatis)


  1.每次只插入一條和數(shù)據(jù)庫(kù)交互多次(很耗時(shí)間)


  2.批量插入和數(shù)據(jù)庫(kù)只交互一次(內(nèi)存溢出)


  3.分段批量插入(推薦)


  jdbc批量處理數(shù)據(jù)是通過PreparedStatement對(duì)象的addbatch(),executebatch()clearbatch()進(jìn)行和數(shù)據(jù)庫(kù)的交互。通常我們使用分段批量處理的方式這樣可以提高程序的性能,防止內(nèi)存溢出。


  1.每個(gè)sql語句都和數(shù)據(jù)庫(kù)交互一次(非批量操作)


  2.只和數(shù)據(jù)庫(kù)交互一次(批量操作)(內(nèi)存溢出)


  當(dāng)數(shù)據(jù)達(dá)到一定額度的時(shí)候就和數(shù)據(jù)庫(kù)進(jìn)行交互,分多次進(jìn)行(分段批量操作)


  (500或者1000)


  pst.addBatch();


  if(i>0&&i%1000==0){


  pst.executeBatch();


  pst.clearBatch();


  }


  六、Oracle分頁


  select*from(select*from(selects.*,rownumrnfromstudents)wherern<=5)wherern>0


  七、Oracle的基本數(shù)據(jù)類型


  Oracle的基本數(shù)據(jù)類型(常用):


  1、字符型


  Char固定長(zhǎng)度字符串占2000個(gè)字節(jié)


  Varchar2可變長(zhǎng)度字符串占4000個(gè)字節(jié)


  Nvarchar2占2000個(gè)字符(最多能存2000個(gè)字母/中文)


  2、大對(duì)象型(lob)


  Blob:二進(jìn)制數(shù)據(jù)最大長(zhǎng)度4G


  Blob用于存一些圖片,視頻,文件。


  比如:當(dāng)我們?cè)谶M(jìn)行文件上傳時(shí),我們一般把上傳的文件存在硬盤上,可以不占用數(shù)據(jù)庫(kù),下載時(shí),如果項(xiàng)目遷移時(shí),文件也要跟著遷移。因此我們可以把用blob把它存在數(shù)據(jù)庫(kù)中。但這樣也增加了數(shù)據(jù)庫(kù)的負(fù)擔(dān)。


  Clob:字符數(shù)據(jù)最大長(zhǎng)度4G,可以存大字符串varchar2和nvarchar2都具有一定的局限性,它們長(zhǎng)度有限,但數(shù)據(jù)庫(kù)中無論用varchar2或nvarchar2類型,還是用clob,在java端都使用String接收。


  3、數(shù)值型


  Integer整數(shù)類型,小的整數(shù)。


  Float浮點(diǎn)數(shù)類型。


  Real實(shí)數(shù)類型。


  Number(p,s)包含小數(shù)位的數(shù)值類型。P表示精度,s表示小數(shù)后的位數(shù)。


  Eg:number(10,2)表示小數(shù)點(diǎn)之前可有8位數(shù)字,小數(shù)點(diǎn)后有2位。


  4、日期類型


  Date日期(日-月-年)DD-MM-YY(HH-MI-SS)


  Timestamp跟date比它可以精確到微秒。精確范圍0~9默認(rèn)為6.


  八、id、rowid、rownum的區(qū)別


  rowid物理位置的唯一標(biāo)識(shí)。


  而id是邏輯上的唯一標(biāo)識(shí),所以rowid查找速度要快于id,是目前最快的


  定位一條記錄的方式


  rowid和rownum都是"偽數(shù)列"


  所謂“偽數(shù)列”也就是默認(rèn)隱藏的一個(gè)數(shù)列。


  rownum用于標(biāo)記結(jié)果集中結(jié)果順序的一個(gè)字段,


  它的特點(diǎn)是按順序標(biāo)記,而且是連續(xù)的,


  換句話說就是只有有rownum=1的記錄,才可能有rownum=2的記錄。


  rownum關(guān)鍵字只能和<或者<=直接關(guān)聯(lián)


  如果是>或者=則需要給他起個(gè)別名


  九、主鍵和唯一索引的區(qū)別?


  在創(chuàng)建主鍵的同時(shí)會(huì)生成對(duì)應(yīng)的唯一索引,主鍵在保證數(shù)據(jù)唯一性的同時(shí)不允許為空,而唯一可以有一個(gè)為空數(shù)據(jù)項(xiàng),一個(gè)表中只能有一個(gè)主鍵,但是一個(gè)主鍵可以有多個(gè)字段,一個(gè)表中可以有多個(gè)唯一索引。


  十、Preparedstatement和statement的區(qū)別


  用Preparedstatement進(jìn)行開發(fā)。Preparedstatement是預(yù)編譯的,而statement不是,在每次執(zhí)行sql語句的增刪改時(shí),如果是一條數(shù)據(jù)兩者沒差距,但如果數(shù)據(jù)量大于1,那么每次執(zhí)行sql語句statement都要重新編譯一次,而Preparedstatement不用,Preparedstatement的運(yùn)行效率大于statement;從代碼的可維護(hù)性和可讀性來說,雖然用Preparedstatement來代替statement會(huì)使代碼多出幾行,但這樣的代碼無論從可讀性還是可維護(hù)性來說,都比直接使用statement的代碼高很多檔次;最重要的一點(diǎn),從安全角度來說,使用Preparedstatement可以大大提高程序的安全性,因?yàn)镻reparedstatement是用‘?’傳參,可以防止sql注入,具有安全性,而statement用的是‘+’字符串拼接,安全性較低。


  數(shù)據(jù)庫(kù)相關(guān)視頻教程


  oracle數(shù)據(jù)庫(kù)教程:http://m.ilovecolors.com.cn/v22/


  數(shù)據(jù)庫(kù)plsql教程:http://m.ilovecolors.com.cn/v23/


  jdbc數(shù)據(jù)庫(kù)教程:http://m.ilovecolors.com.cn/v24/


  數(shù)據(jù)庫(kù)mysql教程:http://m.ilovecolors.com.cn/v21


  Java實(shí)戰(zhàn)項(xiàng)目視頻之egov項(xiàng)目視頻教程【免費(fèi)下載】:http://m.ilovecolors.com.cn/v83/


  Java學(xué)生成績(jī)管理系統(tǒng)視頻教程【免費(fèi)下載】:http://m.ilovecolors.com.cn/v51/


Java數(shù)據(jù)庫(kù)技術(shù)總結(jié),內(nèi)涵相關(guān)免費(fèi)視頻


       以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java數(shù)據(jù)庫(kù)技術(shù)總結(jié),內(nèi)涵相關(guān)免費(fèi)視頻”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


  相關(guān)內(nèi)容


  Java編程學(xué)習(xí):MySQL數(shù)據(jù)庫(kù)的學(xué)習(xí)路線


  2020年Java數(shù)據(jù)庫(kù)筆試題大全


  Java數(shù)據(jù)庫(kù)入門學(xué)習(xí),mysql書籍推薦


  學(xué)習(xí)Java數(shù)據(jù)庫(kù)增刪查改通用方法


  Java學(xué)習(xí):數(shù)據(jù)庫(kù)學(xué)習(xí)條件查詢和排序


提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日韩激情视频在线观看 | 毛片免费视频网站 | 97超级碰碰碰 | 日本一区二区三 | 成人黄网大全在线观看 | 波多野结衣与公中出中文字幕 | 欧美一级www | 欧美三页 | 亚洲欧美中文日韩在线v日本 | 久久大香伊蕉在人线国产联合 | 一级黄色片一级片 | aaa级大片| 日韩资源在线观看 | 日皮免费| 99资源在线| 欧美猛交xxxx免费看 | 免费看黄视频在线观看 | 污视在线看 | 精品国产不卡一区二区三区 | 91在线亚洲精品专区 | 成人午夜看片 | 三级伦理片高清在线观看播放 | 黄色搞鸡网站 | 伊人久久国产免费观看视频 | 精品在线观看国产 | 欧美视频精品在线 | 成人久久18免费网址 | 精品免费视在线观看 | 免费成人黄色网址 | 1区1区3区4区产品亚洲 | 五月婷婷在线观看 | 免费h视频| 狠狠色丁香婷婷综合尤物 | 99视频精品全部在线播放 | 特级片毛片 | 一个人www免费观看视频 | 成人国产精品免费视频 | 亚洲欧美中文字幕在线网站 | 亚洲日产综合欧美一区二区 | 日韩欧美精品综合久久 | 一区二区免费视频观看 |