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