為什么要加載并注冊(cè)驅(qū)動(dòng)?
這里兩條語(yǔ)句實(shí)現(xiàn)兩個(gè)功能:
1,創(chuàng)建一個(gè)com.mysql.jdbc.Driver類的對(duì)象
2,把這個(gè)對(duì)象傳給DriverManager.registerDriver()這個(gè)方法
有沒(méi)有辦法把這兩個(gè)操作合成一步?答案是有。
在jdbc驅(qū)動(dòng)jar包下的driver類里面有一個(gè)靜態(tài)代碼塊。在這個(gè)靜態(tài)代碼塊里面執(zhí)行了兩個(gè)操作
1,創(chuàng)建一個(gè)com.mysql.jdbc.Driver類的對(duì)象
2,把這個(gè)對(duì)象傳給DriverManager.registerDriver()這個(gè)方法
這正好是jdbc注冊(cè)驅(qū)動(dòng)的操作
根據(jù)靜態(tài)代碼塊在類加載的時(shí)候被執(zhí)行的特點(diǎn):
只要加載包含靜態(tài)代碼塊的類,注冊(cè)驅(qū)動(dòng)的動(dòng)作就會(huì)被完成
這個(gè)包含這個(gè)靜態(tài)代碼塊的類就是com.mysql.jdbc.Driver
所以注冊(cè)驅(qū)動(dòng)的兩步可以用加載com.mysql.jdbc.Driver這個(gè)類來(lái)代替