# Sping JdbcTemplate ## JdbcTemplate概述 JdbcTemplate 是 Spring JDBC 核心包(core)中的核心類,它可以通過配置文件、註解、Java 配置類等形式獲取資料庫的相關信息,實現了對 JDBC 開發過程中的驅動載入、連接的開啟和關閉、SQL ...
Sping JdbcTemplate
JdbcTemplate概述
JdbcTemplate 是 Spring JDBC 核心包(core)中的核心類,它可以通過配置文件、註解、Java 配置類等形式獲取資料庫的相關信息,實現了對 JDBC 開發過程中的驅動載入、連接的開啟和關閉、SQL 語句的創建與執行、異常處理、事務處理、數據類型轉換等操作的封裝。我們只要對其傳入SQL 語句和必要的參數即可輕鬆進行 JDBC 編程。
開發步驟
-
導入spring-jdbc和spring-tx坐標
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.6</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.3.6</version> </dependency>
-
創建資料庫表和實體對象
-
創建jdbctemplate對象
-
執行資料庫操作
public void test1() throws PropertyVetoException { // 創建一個數據源對象 ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test"); dataSource.setUser("root"); dataSource.setPassword("123456"); // 創建jdbctemplate對象 JdbcTemplate jdbcTemplate = new JdbcTemplate(); // 設置數據源對象,知道資料庫在哪裡 jdbcTemplate.setDataSource(dataSource); // 執行操作 jdbcTemplate.update("insert into account values (?,?)","tom",5000); }
利用spring產生jdbctemplate對象(創建數據源bean實例再將其註入jdbctemplate實例,然後通過spring容器獲得)
讓後為瞭解耦更加徹底,還可以把相關配置信息抽出為單獨配置文件,以前寫過很多次了不再多說
常用操作
修改(包括更新、刪除、插入):
jdbcTemplate.update("insert into account values (?,?)","tom",5000);
查詢:
// 查詢多個對象
// Account是你要封裝的實類的泛型
List<Account> query = jdbcTemplate.query("select * from account", new BeanPropertyRowMapper<Account>(Account.class));
// 查詢一個對象
jdbcTemplate.queryForObject("select * from account where name = ?",new BeanPropertyRowMapper<Account>(Account),"tom")
// 聚合查詢
Long aLong = jdbcTemplate.queryForObject("select count(*) from account ", Long.class);