JDBC操作oracle
JDBC (java DataBase Connection)java數據庫連接
使用jdbc使用java.sql包下的常用的幾個接口:
Connection 用于獲得數據庫的連接
Statement 用于對數據庫發送并且執行命令
ResultSet 用于接收查詢返回的結果集,該接口中定義了對于結果
集遍歷和過去的一些方法
PreparedStatement
連接不同的數據庫,要去下載數據庫廠商根據JDBCAPI實現的代碼,也
稱之為驅動包(.jar)
使用java連接數據庫的步驟
1.加載驅動
Class.forName("驅動類") 動態加載驅動類
2.獲得連接,通過Connection接口接收DriverManager類的getConnection
方法產生的連接實例,該方法中需要指定三個參數
3.通過Statement來執行數據庫命令,通過connection來創建并且
通過statement對象的execute方法來執行
4.通過ResultSet接收查詢返回的結果集
查詢使用executeQuery()方法,該方法返回一個ResultSet
5.然后通過rs結果集的.next()方法判斷是否存在可遍歷的數據
存在結果就遍歷這條數據,在循環內通過rs.get()方法得到一條數據
中的每一列的值,oracle中列是什么類型就用對應的getjava類型
的方法去得到這一列,括號中寫列名或者以查詢的列下標為單位
6.遍歷結束后,依次關閉rs,stmt,con
PreparedStatement(預編譯該接口是Statement接口的子接口,
但是和Statement相比,這個接口性能更好
1.Statement在每次執行時需要放入sql語句,會先編譯并且執行
而PreparedStatement會在創建時就先放入sql語句,預編譯
預編譯會先編譯好語句緩存在數據庫中,這樣后面重復使用這條語句
時無需重新編譯,直接可以執行
2.Statement不安全,拼接字符串條件時容易被sql注入攻擊,而
預編譯不是通過字符串拼接,而是占位符,無法被注入
3.Statemnt執行查詢效率較高,PreparedStatement批量處理增刪改
效率更好
在預編譯中,sql語句中的數據可以使用?來替代,無需拼接.在執行
之前需要給sql語句中的每個占位符設置值,以實際數據庫類型對應的
java類型的setXX方法來設置,方法需要指定兩個參數,第一個是
占位符的下標,第二個是設置的數據,下標從1開始
?
題目
1.寫一個類,類中6個方法,對應著增刪改查和菜單,類中聲明三個全局的
接口Connection,PreparedStatement,ResultSet
進入菜單選擇1.添加員工 2.修改員工 3.刪除員工 4.查詢全部員工
5.查詢單個員工(1.根據id查詢 2.根據名字模糊查詢)
where ename like ?
pst.setString(1,"%"+name+"%")
(2.修改員工)進入先調用查詢全部員工的方法,然后輸入員工編號,修改,如果這個
員工不存在就提示重新輸入,存在(改名字,入職日期)
(3.刪除員工)進入先調用查詢全部員工的方法。然后輸入id刪除
?
轉載于:https://www.cnblogs.com/beiluo712/p/10525414.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的JDBC操作oracle的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python数据结构与算法之排序
- 下一篇: 第二个议题