Java数据库面试题
事務(wù)的四大特性:原子性 一致性 持久性 隔離性
jdbc:叫做Java數(shù)據(jù)庫(kù)連接
jdbc接口及相關(guān)類(lèi)在Java.sql包和javax.sql包中,
jdbc接口讓Java程序和jdbc驅(qū)動(dòng)實(shí)現(xiàn)了松耦合,是的切換不同的額數(shù)據(jù)庫(kù)變得更加簡(jiǎn)單。
jdbc時(shí)如何實(shí)現(xiàn)Java程序和jdbc驅(qū)動(dòng)的松耦合?
jdbcapi使用Java的反射機(jī)制來(lái)實(shí)現(xiàn)Java程序和jdbc驅(qū)動(dòng)的松耦合。
驅(qū)動(dòng)只有通過(guò)Class.forName()反射機(jī)制來(lái)加載的時(shí)候才會(huì)出現(xiàn)。
連接池:
dbcp 沒(méi)有回收機(jī)制 c3p0由回收機(jī)制(hibernate和spring那邊也是用這個(gè),是jdbc實(shí)現(xiàn)jndi和數(shù)據(jù)源綁定的)
jdbc連接數(shù)據(jù)庫(kù)的步驟:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;/** 連接數(shù)據(jù)庫(kù)*/ public class jdbc {Connection conn=null;PreparedStatement psmt=null;ResultSet rs=null;public Connection getConnections(){String username="wang";String password="wang";String dirver="oracle.jdbc.driver.OracleDriver";String url="jdbc:oracle:thin:@localhost:1521:orcl";try {Class.forName(dirver);conn=DriverManager.getConnection(url, username, password);String sql="";psmt=conn.prepareStatement(sql);rs=psmt.executeQuery();while(rs.next()){System.out.println();}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}ret ur n conn;}}oracle數(shù)據(jù)庫(kù)的隔離級(jí)別屬于提交讀取,保證不會(huì)臟讀取,但會(huì)出現(xiàn)幻讀和非重復(fù)提交。 數(shù)據(jù)庫(kù)中的鎖:樂(lè)觀(guān)鎖——只有當(dāng)更新數(shù)據(jù)的時(shí)候才會(huì)鎖定記錄。 悲觀(guān)鎖——從查詢(xún)到更新和提交整個(gè)過(guò)程都會(huì)對(duì)數(shù)據(jù)記錄進(jìn)行加鎖數(shù)據(jù)庫(kù)的函數(shù)存儲(chǔ)過(guò)程有什么不同?
存儲(chǔ)過(guò)程是用戶(hù)定義的一系列sql語(yǔ)句的集合,涉及特定表?yè)]著其他對(duì)象的任務(wù),用戶(hù)可以調(diào)用存儲(chǔ)過(guò)程,而函數(shù)同城是書(shū)庫(kù)已定義的方法,他接受的參數(shù)并返回某種類(lèi)型的值并且不涉及特定用戶(hù)表。還有就是村屬過(guò)程沒(méi)有返回值,函數(shù)由返回值,處理sql語(yǔ)句的時(shí)候比較使用。
數(shù)據(jù)庫(kù)的隔離級(jí)別:五種
“`
第一種化不支持事務(wù)
第二種:未提交讀,說(shuō)明在提交事務(wù)前一個(gè) 事務(wù)可以看到另一個(gè)事務(wù)的變化。這樣讀取“臟數(shù)據(jù)”,不可重復(fù)讀取護(hù)著虛讀都是允許的。
第三種:已提交讀,說(shuō)明讀取未提交的數(shù)據(jù)是不允同的數(shù)據(jù)不失敗,但徐讀回出現(xiàn),
,事務(wù)的最高境界,防止讀臟
五種:序列化,是事務(wù)的最高境界
`這里寫(xiě)代防止讀 數(shù)據(jù),不可重復(fù)讀取,和幻讀。
DDL和DML是什么?DML是數(shù)據(jù)庫(kù)操作語(yǔ)句如select delete等由據(jù)的 DDL是數(shù)據(jù)庫(kù)定義模式,如drop create等沒(méi)有返回值的。
“`
總結(jié)
以上是生活随笔為你收集整理的Java数据库面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ie11 java提示升级,解决IE11
- 下一篇: java中非法运算符_Java 中的运算