Spring JDBC 框架 簡介

2022-07-01 20:00:14 字數 3078 閱讀 6206

在使用普通的 jdbc 資料庫時,就會很麻煩的寫不必要的**來處理異常,開啟和關閉資料庫連線等。

但 spring jdbc 框架負責所有的低層細節,從開始開啟連線,準備和執行 sql 語句,處理異常,處理事務,到最後關閉連線。

所以當從資料庫中獲取資料時,你所做的是定義連線引數,指定要執行的 sql 語句,每次迭代完成所需的工作。

spring jdbc 提供幾種方法和資料庫中相應的不同的類與介面。我將給出使用 jdbctemplate 類框架的經典和最受歡迎的方法。這是管理所有資料庫通訊和異常處理的**框架類。

jdbctemplate 類執行 sql 查詢、更新語句和儲存過程呼叫,執行迭代結果集和提取返回引數值。它也捕獲 jdbc 異常並轉換它們到 org.springframework.dao 包中定義的通用類、更多的資訊、異常層次結構。

jdbctemplate 類的例項是執行緒安全配置的。所以你可以配置 jdbctemplate 的單個例項,然後將這個共享的引用安全地注入到多個 daos 中。

使用 jdbctemplate 類時常見的做法是在你的 spring 配置檔案中配置資料來源,然後共享資料來源 bean 依賴注入到 dao 類中,並在資料來源的設值函式中建立了 jdbctemplate。

使用mysql的客戶端管理軟體,比如:mysql-front,建立資料庫test:

create database test;
在資料庫 test 中建立乙個資料庫表 student。

create table student(

id int not null auto_increment,

name varchar(20) not null,

age int not null,

primary key (id)

);

現在,我們需要提供乙個資料來源到 jdbctemplate 中,所以它可以配置本身來獲得資料庫訪問。你可以在 xml 檔案中配置資料來源,其中一段**如下所示:

dao 代表常用的資料庫互動的資料訪問物件。daos 提供一種方法來讀取資料並將資料寫入到資料庫中,它們應該通過乙個介面顯示此功能,應用程式的其餘部分將訪問它們。

在 spring 中,資料訪問物件(dao)支援很容易用統一的方法使用資料訪問技術,如 jdbc、hibernate、jpa 或者 jdo。

我們看看如何使用 sql 和 jdbctemplate 物件在資料庫表中執行 crud(建立、讀取、更新和刪除)操作。

查詢乙個整數型別:

string sql = "select count(*) from student";

int rowcount = jdbctemplateobject.queryforint( sql );

查詢乙個 long 型別:

string sql = "select count(*) from student";

long rowcount = jdbctemplateobject.queryforlong( sql );

乙個使用繫結變數的簡單查詢:

string sql = "select age from student where id = ?";

int age = jdbctemplateobject.queryforint(sql, new object);

string sql = "select name from student where id = ?";

string name = jdbctemplateobject.queryforobject(sql, new object, string.class);

string sql = "select * from student where id = ?";

student student = jdbctemplateobject.queryforobject(sql,

public student maprow(resultset rs, int rownum) throws sqlexception

}

string sql = "select * from student";

liststudents = jdbctemplateobject.query(sql,

public student maprow(resultset rs, int rownum) throws sqlexception

}

string sql = "insert into student (name, age) values (?, ?)";

jdbctemplateobject.update( sql, new object );

string sql = "update student set name = ? where id = ?";

jdbctemplateobject.update( sql, new object );

string sql = "delete student where id = ?";

jdbctemplateobject.update( sql, new object );

你可以使用 jdbctemplate 中的 execute(..) 方法來執行任何 sql 語句或 ddl 語句。下面是乙個使用 create 語句建立乙個表的示例:

string sql = "create table student( " +

"id int not null auto_increment, " +

"name varchar(20) not null, " +

"age int not null, " +

"primary key (id));"

jdbctemplateobject.execute( sql );

每天學習一點點,每天進步一點點。

SpringJDBC框架簡介

目錄 在使用普通的 jdbc 資料庫時,就會很麻煩的寫不必要的 來處理異常,開啟和關閉資料庫連線等。但 spring jdbc 框架負責所有的低層細節,從開始開啟連線,準備和執行 sql 語句,處理異常,處理事務,到最後關閉連線。所以當從資料庫中獲取資料時,你所做的是定義連線引數,指定要執行的 sq...

web框架簡介,django簡介

目錄django簡介 建立django專案的方式 django各個檔案的作用 django小白必會三板斧 c s架構 客戶端服務端 b s架構 瀏覽器伺服器 本質 b s架構其實也是c s架構 超文字傳輸協議 規定了客戶端和服務端訊息傳輸的格式 四大特性 1 基於tcp ip協議作用於應用層的協議 ...

Spring JDBC組合開發

使用spring jdbc整合步驟如下 配置資料來源,如 略 配置事務。配置事務時,需要在xml配置檔案中引入用於宣告事務的tx命名空間 見下頁 事務的配置方式有兩種 註解方式和基於xml配置方式。所用jar包 commons dbcp.jar 使用datasource必須 commons pool...