日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JDBC(Java语言连接数据库)

發布時間:2025/3/11 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDBC(Java语言连接数据库) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JDBC(Java語言連接數據庫)

  • JDBC本質
    • 整體結構
    • 基層實現過程(即用記事本而不是idea)
      • 第一種實現方式
      • 第二種實現方式
  • 樂觀鎖和悲觀鎖
    • 樂觀鎖
    • 悲觀鎖

JDBC本質

整體結構

基層實現過程(即用記事本而不是idea)

第一種實現方式

(1)下載對應廠家數據庫的jar包
(2)配置環境變量(用于提示運行時jar包的位置)——因為是用底層實現,所以不是用idea
(3)JDBC編程六步

1.注冊驅動——傳輸的參數是驅動對象而不是字符串
2.獲取連接
3.獲取數據庫操作對象
4.執行SQL語句
5.處理查詢結果集
6.釋放資源

第二種實現方式

第二種方式是通過Java的映射機制,將已有的數據庫驅動函數映射過來使用,只需要傳入字符串參數com.mysql.jdbc.Driver即可,由于所傳參數是字符串,所以可以將配置信息存放到.properties中,這樣方便程序員的客戶自己修改配置信息等

使用這個方法需要使用資源綁定器綁定屬性配置文件

//獲取配置文件中的屬性 ResourceBundle bundle = ResourceBundle .getBundle("jdbc"); String driver = bundle.getString("driver "); String url= bundle.getString("url"); String user= bundle.getString("user"); String password= bundle.getString("password");//1.加載驅動 Class.forName(driver);//固定,映射機制 System.out.println("加載驅動成功!"); //2.連接 Connection connection= null;//連接對象(注意與java不同,創建對象不用new) String dbURL = url;//ip地址、端口、數據庫名 connection= DriverManager.getConnection(dbURL, user, password);

.properties文件中

serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=shejiashuai spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

樂觀鎖和悲觀鎖

樂觀鎖

允許并發,不過要實現互斥,類似P、V操作

過程(如有兩個并發進程要更新同一條記錄,此記錄初始的版本號是1):
1.進程1修改記錄,此時進程1記下記錄更新前的版本是1
2.在進程1還沒有結束的時候,進程2也要更新這條記錄,并記下此時記錄的版本號是1
3.進程1先更新完,記錄的版本號自增變成2
4.最后進程2更新完記錄,但是回來發現記錄的版本號變成了2,不是它原來所記錄的版本號1了,所以進程2要重新更新 新的記錄

悲觀鎖

不允許并發,所以就沒有其他麻煩事了

總結

以上是生活随笔為你收集整理的JDBC(Java语言连接数据库)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。