Nangungunang 50 Mga Tanong at Sagot sa Panayam sa JDBC (2025)

Narito ang mga tanong at sagot sa panayam ng Java Database Connectivity (JDBC) para sa mga fresher pati na rin sa mga may karanasang kandidato para makuha ang kanilang pinapangarap na trabaho.

Libreng PDF Download: Mga Tanong sa Panayam ng JDBC


1) Ano ang JDBC?

Ang JDBC ay kumakatawan sa Java Database Connectivity. Ang JDBC ay isang Java API na nakikipag-ugnayan sa database at nagpapatupad ng SQLquery.


2) Ano ang JDBC driver at ilang JDBC driver ang available?

Ang driver ng JDBC ay naglalaman ng mga klase at interface na tumutulong sa Java application at database.

Mayroong 4 na uri ng mga driver ng JDBC.

  1. Type 1 driver o JDBC-ODBC bridge driver.
  2. Type 2 driver o Native-API, bahagyang driver ng Java.
  3. Type 3 driver o Network Protocol, purong Java driver.
  4. Uri ng 4 na driver o Native-protocol, purong Java driver.

3) Paano ako makakakonekta MySQL o Oracle sa Java?

//for MySQL {
try {

Class.forName ("com.mysql.jdbc.Driver");

con=DriverManager.getConnection ("jdbc: mysql://localhost:3306/dbanme", "username", "password");

Statement st=con.createstatement ();

Resultset rs=st.executeQuery ("select * from user");

rs.next (); catch (ClassNotFoundException e) {

System.err.println ("ClassNotFoundException in get Connection," + e.getMessage()); }

catch (SQLException e) {

System.err.println ("SQLException in getConnection," + e.getMessage ()) ;}

//for oracle

{

try

{

Class.forName ("oracle.jdbc.driver.OracleDriver");

con= DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:dbname", "username", "password");

Statement st=con.createstatement();

Resultset rs=st.executeQuery("select * from user");

Rs.next();

} catch (ClassNotFoundException e) {

System.err.println("ClassNotFoundException in get Connection," +e.getMessage()); }

catch (SQLException e) {

System.err.println("SQLException in getConnection, " + e.getMessage()); } return con; }

Pagpapaliwanag ng code

Lumilikha ang Class.forName ng isang halimbawa ng driver ng JDBC at magparehistro sa DriverManager.

getConnection () method ay palaging nagtatatag ng koneksyon sa isang database.

Kailangan nating lumikha ng object ng Statement mula sa object ng koneksyon sa itaas. Ang pahayag ay magbabalik ng object ng resultset. ResultSet.next () ay nangangahulugang Kung bumabalik pa rin ang hanay ng resulta.


4) Aling driver ng JDBC ang pinakamabilis na driver?

Type 4 na driver o Native-protocol, purong Java driver, ang pinakamabilis na driver.


5) Ano ang mga bahagi ng JDBC API?

Mayroong apat na uri ng mga sangkap

  1. JDBC API
  2. Tagapamahala ng Driver ng JDBC
  3. JDBC Test Suite
  4. JDBC-ODBC Bridge
Mga Tanong sa Panayam ng JDBC
Mga Tanong sa Panayam ng JDBC

6) Ano ang mga pahayag ng JDBC?

Mayroong 3 uri ng Mga Pahayag ng JDBC, tulad ng ibinigay sa ibaba:

  1. Pahayag: Ipapatupad ito SQL query (static SQL query) laban sa database.
  2. Inihanda na Pahayag: Ginagamit kapag gusto naming paulit-ulit na isagawa ang SQL statement. Ang data ng input ay dynamic at kinuha ang input sa oras ng pagtakbo.
  3. Matatawag na Pahayag: Ginagamit kapag gusto naming magsagawa ng mga nakaimbak na pamamaraan.

7) Paano natin maipatupad ang mga nakaimbak na pamamaraan?

Ang mga nakaimbak na pamamaraan ay maaaring isagawa gamit ang JDBCcallable na pahayag. Narito ang code.

Connection conn = null;

CallableStatement callStmt = conn.prepareCall("{call myStoreproc(?, ?)}");

callStmt.setString(1, "abcdefg");


8) Ano ang mga pakinabang ng paggamit ng PreparedStatement sa Java?

Ang Inihanda na Pahayag ay ginagamit upang isagawa ang parehong mga pahayag ng SQL nang paulit-ulit. Ang inihandang pahayag ay pinagsama-sama lamang ng isang beses kahit na ito ay gumamit ng "n" na ilang beses


9) Ano ang ResultSet?

Ang java.sql.ResultSet interface ay nangangahulugang ang resultang set ng isang SQL query. Nangangahulugan ito na ang isang cursor ay tumuturo sa isang hilera ng isang talahanayan; tumuturo ito sa harap ng unang hilera.


10) Ano ang mga uri ng ResultSet?

Mayroong tatlong uri ng ResultSet na magagamit. Kung hindi kami magdedeklara ng anumang ResultSet ibig sabihin TYPE_FORWARD_ONLY ang tawag namin

  1. TYPE_FORWARD_ONLY: ang cursor ay maaari lamang sumulong.
  2. TYPE_SCROLL_INSENSITIVE: ang cursor ay maaaring sumulong at paatras ngunit hindi sensitibo.
  3. TYPE_SCROLL_SENSITIVE: ang cursor ay maaaring sumulong at paatras, ngunit ito ay sensitibo

11) Ipaliwanag ang pagkakaiba sa pagitan ng RowSet kumpara sa ResultSet sa JDBC?

Sa isang ResultSet handle na koneksyon sa isang DB, hindi namin maaaring gawin ang Result bilang isang serialized na bagay.

Dahil sa isyu sa itaas, hindi namin maipasa ang Resultsset sa buong network.

Pinapalawak ng RowSet ang interface ng ResultSet, kaya hawak nito ang lahat ng pamamaraan mula sa ResultSet. Ang RowSet ay serialized.

Kaya, maaari nating ipasa ang Rowset mula sa isang klase patungo sa isa pang klase dahil wala itong koneksyon sa database.


12) Bakit mo gagamitin ang setAutoCommit(false) sa JDBC?

Kung gusto mong i-off ang Auto Commit pagkatapos ay itakda ang connection.setAutoCommit(false)


13) Ano ang mga babala sa database sa JDBC at paano natin mahahawakan ang mga babala sa database sa JDBC?

Ang babala ng SQL o babala sa Database ay ang subclass ng klase ng SQLException. Magagawa natin ito sa pamamagitan ng paggamit ng getWarnings() method sa Connection, Statement, at ResultSet


14) Maaari ba akong makakuha ng null ResultSet?

Hindi, hindi kami makakakuha ng null Resultset. Ang ResultSet.next() ay maaaring magbalik ng null kung ang susunod na tala ay walang row.


15) Ano ang ibig mong sabihin sa Metadata at bakit namin ito ginagamit?

Ang metadata ay nangangahulugan ng data o impormasyon tungkol sa iba pang data. Gumagamit kami ng metadata upang makakuha ng bersyon ng produkto ng database, pangalan ng driver, ang kabuuang bilang ng mga talahanayan at view.


16) Ano ang pagkakaiba sa pagitan ng execute, executeQuery, executeUpdate sa JDBC?

execute(): maaari itong magamit para sa anumang uri ng SQL Query.

executeQuery() : maaari itong gamitin para sa piling query.

executeUpdate(): maaari itong magamit upang baguhin/i-update ang talahanayan.


17) Ano ang database connection pooling? Mga kalamangan ng paggamit ng isang koneksyon pool?

Ang ibig sabihin ng pagsasama-sama ng koneksyon ay maiimbak ang mga koneksyon sa cache at magagamit namin muli ang mga ito sa hinaharap.

Kalamangan:

  1. Mas mabilis ito
  2. Ang pagsasama-sama ng koneksyon ay nagiging mas madali upang masuri at masuri ang koneksyon sa database.

18) Ano ang function ng klase ng DriverManager?

Ito ay isang interface sa pagitan ng user at mga driver. Sinusubaybayan ng DriverManager ang lahat ng aktibidad sa pagitan ng isang database at ng naaangkop na driver.


19) Ano ang kahulugan ng mga batch update?

Ang ibig sabihin ng mga batch update ay ang pagpapatupad ng isang set/pangkat ng mga query sa SQL nang sabay-sabay.

Ang mga batch update ay magagamit lamang para sa pagpasok, pag-update at pagtanggal ngunit hindi para sa piling query.


20) Ilang package ang available sa JDBC API?

Dalawang uri ng package ang available sa JDBC API

  1. java.sql
  2. javax.sql

21) Ano ang uri ng pagbabalik ng execute, executeQuery at executeUpdate?

Ang uri ng pagbabalik ng execute ay Boolean

Ang uri ng pagbabalik ng executeQuery ay ResultSet object

Ang uri ng pagbabalik ng executeUpdate ay int


22) Ang index ng Set ng Resulta ay Nagsisimula sa 0 o 1?

Ang index ng Set ng Resulta ay nagsisimula sa 1.


23) Ano ang tungkulin ng Class.forName habang naglo-load ng mga driver?

Lumilikha ang Class.forName ng isang halimbawa ng driver ng JDBC at magparehistro sa DriverManager.


24) Ang JDBC-ODBC Bridge ay multi-threaded o hindi?

Hindi, ang JDBC-ODBC Bridge ay gumagamit ng mga naka-synchronize na pamamaraan para i-serialize ang lahat ng mga tawag na ginawa sa ODBC.


25) Aling interface ang humahawak sa pamamahala ng transaksyon sa JDBC?

Ang interface ng koneksyon ay humahawak sa pamamahala ng transaksyon sa JDBC. Nagbibigay ito ng paraan para sa commit (), rollback () atbp.


26) Bakit nangyayari ang error na "Walang angkop na driver"?

Walang angkop na driver” ang nangyayari kapag tinatawagan namin ang paraan ng DriverManager.getConnection,

maaaring mangyari ito dahil sa mga sumusunod na kadahilanan:

  • hindi makapag-load ng eksaktong mga driver ng JDBC bago tumawag sa paraan ng getConnection.
  • Ito ay maaaring hindi wasto o maling JDBC URL.

27) Ang mga inihandang Pahayag ay mas mabilis. Bakit?

Ang inihandang pagpapatupad ng pahayag ay mas mabilis kaysa sa direktang pagpapatupad dahil ang pahayag ay pinagsama-sama lamang ng isang beses. Ang mga inihandang pahayag at driver ng JDBC ay konektado sa isa't isa sa panahon ng pagpapatupad, at walang mga overhead ng koneksyon.


28) Posible bang kumonekta sa maraming database? Gamit ang isang pahayag, maaari ba nating i-update o kunin ang data mula sa dalawa o tatlo o maraming database?

Oo, posible na kumonekta sa maramihang mga database, sa parehong oras, ngunit ito ay depende sa partikular na driver.

Upang i-update at kunin ang data mula sa iba't ibang database maaari naming gamitin ang isang pahayag. Ngunit kailangan namin ng middleware upang makitungo sa maramihang mga database o isang solong database.


29) Sabihin sa akin ang pagkakaiba sa pagitan ng setMaxRows(int) at SetFetchSize(int)?

setMaxRows(int) SetFetchSize(int)?
Tinutukoy kung gaano karaming mga row ang maaaring maglaman ng isang resultset sa isang pagkakataon Tinutukoy ang bilang ng mga row na mababasa mula sa database.

30) Sabihin sa akin ang tungkol sa mga espesyal na karakter?

Ang isang espesyal na karakter ay pinangungunahan ng isang karakter sa pagtakas. Halimbawa -

SELECT NAME FROM TABLE WHERE NAME LIKE '\_%' {escape '\'}

31) Ano ang kahulugan ng "marumi basahin" sa database?

Ang dirty read ay nangangahulugang "basahin ang halaga na maaaring tama o maaaring hindi tama."


32) Ano ang ibig mong sabihin sa two phase commits?

Ginagamit ang two phase commit sa distributed transaction process. Kung ang anumang transaksyon ay isinasagawa at makakaapekto ito sa maramihang mga database. Dalawang phase commit ang gagamitin para gawing naka-synchronize ang lahat ng database sa isa't isa.


33) Ilang locking system ang mayroon sa JDBC?

Dalawang uri ng pag-lock ang available sa JDBC kung saan maaari naming pangasiwaan ang higit sa isang user.

Kung ang dalawang user ay tumitingin sa parehong record, pagkatapos ay walang pag-lock na ginagawa. Kung ang isang user ay nag-a-update ng record at ang pangalawang user ay nag-a-update din ng parehong record. Sa oras na iyon, gagamitin namin ang locking.

  1. Optimistic Locking: ila-lock lang nito ang record kapag "mag-a-update" tayo.
  2. Pessimistic Locking: ila-lock nito ang record mula sa “select” para tingnan, i-update at i-commit ang oras.

34) Ano ang mga eksepsiyon sa JDBC?

Mayroong apat na uri ng mga pagbubukod sa JDBC.

  1. batchUpdate Exception
  2. Pagputol ng Data
  3. SQL Exception
  4. Babala ng SQL

35) Magbigay ng mga hakbang para kumonekta sa DB gamit ang JDBC?

Mayroong dalawang paraan sa pagkonekta ng database gamit ang JDBC

  1. Gamit ang DriverManager:

Ilo-load nito ang klase ng driver sa tulong ng class.forName(driver class) at Class.forName().

Ang Post Loading ay ipapasa nito ang kontrol sa DriverManager.

Ang DriverManager.getConnection() ay gagawa ng koneksyon upang ma-access ang database.

  1. Paggamit ng DataSource:

Para sa DataSource, hindi na kailangang gumamit ng DriverManager sa tulong ng JNDI. Hahanapin nito ang DataSource mula sa Naming service server. Ibabalik ng DataSource.getConnection() method ang Connection object sa DB.


36) Ipaliwanag ang Arkitektura ng JDBC?

Sinusuportahan ng JDBC API ang parehong 2-tier at 3-tier na mga modelo para sa database.

Sa 2-tier na modelong Java application ay nakikipag-ugnayan sa data source

JDBC 2-tier na Arkitektura

Sa 3-tier na modelong mga utos ay nire-redirect sa isang "gitnang baitang" ng mga serbisyo. Pagkatapos nito, ipinadala ang mga utos sa pinagmumulan ng data.

JDBC 3-tier na Arkitektura


37) Ano ang mga bagong feature na available sa JDBC 4.0?

Ang mga bagong tampok ay

  • Auto loading ng JDBC driver class
  • Pinahusay na Pamamahala ng Koneksyon
  • Pinagana ang RowId SQL
  • Dataset na ipinatupad ng SQL sa pamamagitan ng paggamit ng Mga Anotasyon
  • Mga pagpapahusay ng SQL exception handling
  • Pagsuporta sa SQL XML file

38) Ano ang mga pakete na ginagamit sa JDBC?

8 mga pakete ang ginagamit sa JDBC -

  1. sql.Driver
  2. koneksyon
  3. Pahayag
  4. Inihanda na Paglalahad
  5. CallableStatement
  6. ResultaSet
  7. ResultSetMetaData
  8. DatabaseMetaData

39) Ilang RowSet ang available sa JDBC?

Mayroong dalawang uri ng mga hanay ng hilera na magagamit:

  1. Konektado – Ang isang konektadong RowSet object ay kumokonekta kaagad sa database. Kung magtatapos ang application, magtatapos din ang konektadong object ng RowSet.
  2. Nakakonekta – Ang isang nakadiskonektang object ng RowSet ay kumokonekta sa database pagkatapos isagawa ang kinakailangang query.

40) Ano ang kahulugan ng koneksyon?

Ang interface ng koneksyon ay binubuo ng mga pamamaraan para sa pakikipag-ugnayan sa database.


41) Ipaliwanag ang JDBC Savepoint?

Ang isang savepoint ay kumakatawan sa isang punto kung saan maaaring bumalik ang kasalukuyang transaksyon. Sa halip na ibalik ang lahat ng pagbabago nito, maaari nitong piliing ibalik ang ilan lang sa mga ito.


42) Ilista ang mga pakinabang ng paggamit ng DataSource?

Ang data source ay naghahati ng trabaho sa administrator at programmer/developer.

Ang administrator ay lumilikha ng isang DataSource object at itinatali ito sa JNDI registry. Kinukuha ng programmer/developer ang object ng DataSource mula sa registry. Pagkatapos ay itatatag nito ang koneksyon sa database.


43) Ano ang dahilan kung bakit kailangan natin ng JdbcRowSet tulad ng wrapper sa ResultSet?

Maaari naming gamitin ang object ng ResultSet bilang bahagi ng JavaBeans.

  • Ang isang JdbcRowSet ay maaari ding gamitin bilang bahagi ng JavaBeans. Iyon ang dahilan kung bakit maaari itong gawin at i-configure sa disenyo o oras ng pag-compile at isagawa sa oras ng pagtakbo.
  • Ang lahat ng mga object ng jdbcRowSet ay na-scroll at naa-update.

44) Ilang paraan ang makikita natin sa set ng resulta?

Mayroong 2 paraan upang tingnan ang ResultSet

  1. haligi
  2. index ng hanay.

Halimbawa: getInt(String columnName), getInt(int columnIndex)


45) Ilang paraan mo maa-update ang set ng resulta?

Tinutulungan ka ng mga sumusunod na pamamaraan na i-update ang set ng resulta

  • updateRow()
  • deleteRow()
  • refreshRow()
  • cancelRowUpdates()
  • insertRow()

46) Bakit dapat nating isara ang mga koneksyon sa database sa Java?

Bilang pinakamahusay na kasanayan, dapat nating isara ang set ng resulta, ang pahayag at ang koneksyon. Kung ang koneksyon ay nagmumula sa isang pool, sa pagsasara, ang koneksyon ay ipapadala pabalik sa pool para sa muling paggamit. Ginagawa namin ito sa panghuling{} block, dahil kung may mangyayaring exception, magkakaroon pa rin kami ng pagkakataong isara ito.


47) Bakit tayo gumagamit ng mga blob datatypes sa JDBC?

Ginagamit ang mga ito upang mag-imbak ng malaking halaga ng data sa database tulad ng mga imahe, pelikula, atbp.


48) Paano itakda ang attribute na Concurrency sa ResultSet?

Mayroong dalawang antas ng concurrency

  1. CONCUR_READ_ONLY – Ito ay para lamang sa pagbabasa.
  2. CONCUR_UPDATABLE − Ito ay para sa parehong nabasa at na-update.

49) Ano ang pagkakaiba sa pagitan ng mga cursor ng database ng kliyente at server?

Ang server side cursor ay nangangahulugan na ang data at mga resulta ay nai-save sa server. Lamang kapag ang hiniling na data ay ipinadala sa kliyente.

Ang Client side cursor ay nangangahulugang lahat ng data na ipinadala sa lokasyon ng kliyente.


50) Paano mo ilalagay ang mga larawan sa Database gamit ang JDBC?

Mga imahe sa database gamit ang BLOB datatype kung saan naka-imbak ang larawan bilang isang byte stream. Ang code sa ibaba ay nagpapakita kung paano ipasok ang imahe sa DB.

Connection con = null;

PreparedStatement prs = null;

InputStream inputstrm = null;

Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mydb","username","yourpassword");

//localhost is your machine or hostname

//1521 is your oracle database port number

//mydb is your oracle database name.

prs = con.prepareCall("insert into emp_profile values (?,?)");

prs.setInt(1, 1223);

inputstrm = new FileInputStream(new File("emp_img.jpg"));

prs.setBinaryStream(2, inputstrm);

int count = prs.executeUpdate();

Ang mga tanong sa panayam na ito ay makakatulong din sa iyong viva(orals)

magbahagi

2 Comments

  1. awatara Jahnavi sabi ni:

    very use full para sa mga estudyante..........

Mag-iwan ng Sagot

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan *