JDBC筆記02-數據庫連接池 Spring JDBC

今日內容

  1. 數據庫連接池
  2. Spring JDBC : JDBC Template

數據庫連接池

概念:

其實就是一個容器(集合),存放數據庫連接的容器

當系統初始化好后,容器被創建,容器中會申請一些連接對象,當用戶來訪問數據庫時,從容器中獲取連接對象,用戶訪問完之后,會將連接對象歸還給容器

好處:

  • 節約資源
  • 用戶訪問高效

實現

  1. 標準接口:DataSource javax.sql包下的
    • 方法:
      • 獲取連接:getConnection()
      • 歸還連接:Connection.close(). 如果連接對象Connection是從連接池中獲取的,那么調用方法,則不會再關閉連接了.而是歸還連接
  2. 一般我們不去實現它,有數據庫廠商來實現
    1. C3P0: 數據庫連接池技術
    2. Druid: 數據庫連接池實現技術,由阿里巴巴提供的(這玩意十分的高效,性能好,全球最好的數據庫連接池技術!nb吧)

C3P0:數據庫連接池技術

步驟:

  1. 導入jar包(兩個)
    c3p0-0.9.5.2.jar
    mchange-commons-java-0.1.12.jar
    不要忘記導入數據庫的驅動jar包
  2. 定義配置文件:
    • 名稱:-c3p0.properties 或者 c3p0-config.xml
    • 路徑:直接將文件放在src目錄下即可.
  3. 創建核心對象 數據庫連接池對象 ComboPooledDataSource
  4. 獲取連接:getConnection

Druid :數據庫連接池實現技術,有阿里巴巴提供的

步驟:

  1. 導入jar包 fruid-1.9.9.jar
  2. 定義配置文件:
    • 是properties形式的
    • 可以叫任意名稱,可以放在任意目錄下
  3. 加載配置文件.properties
  4. 獲取數據庫連接池對象:通過工廠來獲取DruidDataSourceFactory
  5. 獲取連接:getConnection

Spring JDBC

Spring 框架對JDBC的簡單封裝

提供了一個JDBCTemplate對象簡化JDBC的開發
步驟:
1. 導入jar包
2. 創建JdbcTemplate對象,依賴于數據源DataSource
- JdbcTemplate template = new JdbcTemplate(ds);
3. 調用JdbcTemplate的方法來完成CRUD的操作
- update():執行DML語句.增刪改語句
- queryForMap(): 查詢結果將結果集封裝為map集合
- 將列明作為key,將值作為value 將這條記錄封裝為一個map集合
- 注意:這個方法查詢的結果集長度只能是1
- queryForList(): 查詢結果將結果集封裝為list集合
- 注意:將每一條記錄封裝為一個Map集合,再講Map集合裝載到List集合中
- query(): 查詢結果,將結果封裝為JavaBean對象
- query的參數:RowMapper,一般我們使用BeanPropertyRowMapper實現類.
- 以完成數據到JavaBean的自動封裝
- new BeanPropertyRowMapper<類型>(類型.class)
- queryForObject:查詢結果,將結果封裝為對象
- 一般用于聚合函數的查詢
4. 練習:
- 需求:
1. 修改1號數據的 salary 為 10000
2. 添加一條記錄
3. 刪除剛才添加的記錄
4. 查詢id為1的記號,將其封裝為Map集合
5. 查詢所有記錄,將其封裝為List
6. 查詢所有記錄,將其封裝為Emp對象的List集合
7. 查詢總記錄數

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455355.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455355.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455355.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

20溫控f1什么意思_歐姆龍溫控器是什么 歐姆龍溫控器介紹【圖文】

歐姆龍溫控器&#xff0c;乍一眼看上去真的很難理解這到底是一個什么產品&#xff0c;或者是一個有什么用處的溫控器&#xff0c;對于這個比較淺顯的問題&#xff0c;不知道大家會有什么樣地感受&#xff0c;是不是正在一頭霧水的等著我進行解答呢?經過我比較淺顯的分析&#…

bootstrap 解決彈出窗口(modal) 常見問題

無法使用鍵盤esc關閉窗口方法&#xff1a; 首先在modal容器的div中增加屬性tabindex"-1"&#xff0c;其次設置鍵盤ESC屬性keyboard為true&#xff1b; 方法1&#xff1a;使用js打開窗口時 $(“#modal”).modal({keyboard:true}) 方法2&#xff1a;使用H5屬性在modal窗…

zabbix3.2學習筆記(二):服務端安裝

2019獨角獸企業重金招聘Python工程師標準>>> 一般小公司大多將zabbix web端和zabbix server部署在同一臺主機上&#xff0c;其實二者是可以分開的&#xff0c;web GUI配置連接到對應的數據庫就行&#xff0c;讓zabbix server和MySQL數據庫在同一臺主機上便于數據快速…

H.264解碼器中CAVLC碼表查找算法的分析與優化

0 引言 近年來&#xff0c;隨著信息技術飛速發展和互聯網的日益普及&#xff0c;尤其是以視頻為信息主要來源的多媒體領域越來越受到人們的關注。H&#xff0e;264是ITU-T的視頻編碼專家組(VCEG)和ISO&#xff0f;IEC的活動圖像編碼專家組(MPEG)的聯合視頻組(Joint Video Te…

python求加速度_如何利用Python 為自然語言處理加速度

自去年發布 Python 的指代消解包(coreference resolution package)之后&#xff0c;很多用戶開始用它來構建許多應用程序&#xff0c;而這些應用與我們最初的對話應用完全不同。利用 spaCy 和一點點 Cython 給 NLP 加速。自去年發布 Python 的指代消解包(coreference resolutio…

druid.properties文件的配置

# druid.properties文件的配置 driverClassNamecom.mysql.jdbc.Driver urljdbc:mysql://127.0.0.1:3306/plan usernameroot password # 初始化連接數量 initialSize5 # 最大連接數 maxActive10 # 最大超時時間 maxWait3000

jquery+easyui開發、培訓文檔

目 錄 1.... Accordion&#xff08;可折疊標簽&#xff09;....................................................................................... 2 1.1 實例.............................................................................................…

HAProxy用法詳解 全網最詳細中文文檔

一、HAProxy簡介&#xff08;1&#xff09;HAProxy 是一款提供高可用性、負載均衡以及基于TCP&#xff08;第四層&#xff09;和HTTP&#xff08;第七層&#xff09;應用的代理軟件&#xff0c;支持虛擬主機&#xff0c;它是免費、快速并且可靠的一種解決方案。 HAProxy特別適用…

mp4文件格式系列

mp4文件格式系列1 - 綜述Overview and Introduction Core Concepts MP4文件格式中&#xff0c;所有的內容存在一個稱為movie的容器中。一個movie可以由多個tracks組成。每個track就是一個隨時間變化的媒體序列&#xff0c;例如&#xff0c;視頻幀序列。track里的每個時間單…

JDBC筆記-李偉杰版

JDBC 03 2019/8/1 9:51:41 筆記網站 全球加速: http://zaixianke.com 北京節點: http://itdage.cnJDBC 事務 *** 在dos命令行操作oracle時 , 執行DML , 需要結束事務 (commit提交 或 rollback回退) 在JDBC中, 事務是自動提交的, 每執行一條DML語句, 事務就自動提交一次…

局域網網絡風暴檢測工具_【思唯網絡學院】從原理到配置,最全的VLAN說明就在這了!...

有關VLAN的技術標準IEEE 802.1Q早在1999年6月份就由IEEE委員正式頒布實施了&#xff0c;而且最早的VLNA技術早在1996年Cisco(思科)公司就提出了。隨著幾年來的發展&#xff0c;VLAN技術得到廣泛的支持&#xff0c;在大大小小的企業網絡中廣泛應用&#xff0c;成為當前最為熱門的…

SQL server 基本語句

--查詢數據庫是否存在 if exists ( select * from sysdatabases where [name]TestDB) print Yes, the DB exists else print No, need a new one? --新建一個數據庫 create database TestDB on ( name TestData, filename G:\DBS\KeyTest.mdf, size 3, filegrowth 2 ) log…

pythonselenium模擬登陸爬取信息_python3 使用selenium模擬登陸天眼查抓取數據

由于之前用Scrapy 抓了一些公司的名稱&#xff0c;但是沒有準確的聯系方式&#xff0c;所以就自己就學習了一下使用selenium自動化工具&#xff0c;速度比較慢&#xff0c;網上也有很多這方面的代碼&#xff0c;但是大部分的網頁解析部分都出錯了&#xff0c;可能是這種網站定時…

mp4格式

下面的軟件下載地址&#xff1a;http://download.csdn.net/source/2607382 ftyp: 這是一個筐&#xff0c;可以裝mdat等其他Box。 例&#xff1a;00 00 00 14 66 74 79 70 69 73 6F 6D 00 00 02 00 6D 70 34 31 語義為&#xff1a;ftyp: Major brand: isom Minor version: 5…

PyQt5案例匯總(簡潔版)

01菜單欄 import sys from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication from PyQt5.QtGui import QIconclass Example(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):exitAct QAction(QIcon(exit.png), &Exit,…

個人關于浮動的理解

浮動帶來的影響&#xff1a; ①. 能夠讓浮動之后的元素布局產生混亂 &#xff08;元素浮動后脫離了標準文檔流&#xff0c;它的布局也就不再遵循標準文檔流的規則&#xff0c;多個浮動元素在一起的時候就會隨著窗口的變化而變化&#xff0c;也就失去了穩定的布局&#xff09; ②…

接口測試 rest-assured 使用指南

轉載&#xff1a;https://testerhome.com/topics/7060 原文&#xff1a;https://github.com/rest-assured/rest-assured/wiki/Usage本文github地址&#xff1a;https://github.com/RookieTester/rest-assured-doc 注意&#xff0c;如果您正在使用1.9.0或者更早的版本請參考舊文…

python中格式化字符串的作用_python中字符串格式化的意義(化妝)

格式 描述%%百分號標記 #就是輸出一個%%c字符及其ASCII碼%s字符串%d有符號整數(十進制)%u無符號整數(十進制)%o無符號整數(八進制)%x無符號整數(十六進制)%X無符號整數(十六進制大寫字符)%e浮點數字(科學計數法)%E浮點數字(科學計數法&#xff0c;用E代替e)%f浮點數字(用小數點…

MongoDB的快速手動安裝

就是關于MongoDB主從庫的安裝配置和啟動。網上關于MongoDB的安裝有大量的文章供大家學習。我這里提供一個Windows環境下MongoDB主從庫的快速手動安裝的方法&#xff0c;只需要三步即可。 先下載的安裝包&#xff0c;解壓縮后找到bin文件夾&#xff0c;將bin文件夾拷貝至你自己的…

MP4音頻解碼信息

文章轉載自&#xff1a;http://blog.csdn.net/flyingqr/archive/2010/02/02/5282600.aspx 版權歸原作者&#xff0c;編輯&#xff1a;小乙哥 MP4文件格式分為頭部和數據兩部分&#xff0c;頭部是由許多被稱作Atom的結構單元嵌套或排列而成&#xff0c;數據部分則完全為實際數據…