JDBCTemplate基本使用


用了jdbc連接池之后,我們會發現連接對象的復用性更高了,程序整體運行的性能也更高了。但是我們在做JDBC操作的時候還是比較麻煩,要定義sql,執行sql,設置參數,處理結果。

 

 

 特別是當我們要做查詢操作的時候,處理結果會變得相當麻煩。我們要把數據封裝成對象,然后從結果集里獲取數據,然后再創建對象,給對象屬性賦值。這個過程很麻煩,都是體力活。我們只希望定義sql,然后把sql執行了,體力活不希望自己做。而JDBCtemplate就能幫我們做這些體力活。

 

druid+JDBCTemplate使用步驟:

  1.導入JDBCTemplate jar包

  

JDBCTemplate依賴於數據庫連接池,所以還需要druid相關的jar包或者是其他連接池jar包

如果使用的是 druid jdbcTemplate ,需要導入JDBCTemplate jar包5個+druid jar包1個 + 數據庫驅動包

如果使用的是c3p0  jdbcTemplate ,需要導入JDBCTemplate jar包5個+c3p0 jar包2個 + 數據庫驅動包

 

  2.創建JDBCTemplate對象。依賴於數據源DataSource

    *JdbcTemplate template = new JdbcTemplate(datasource)

  3.調用JdbcTemplate的方法來完成CRUD的操作

    *update():執行DML語句。增刪改語句

    *queryForMap():查詢結果將結果集封裝為map集合

    *queryForList():查詢結果將結果集封裝為map集合

     *query():查詢結果,將結果封裝為JavaBean對象

    *queryForObject:查詢結果,將結果封裝為對象

 

示例代碼如下:

  1.工具類JDBCUtils:

package cn.xj.datasource.utils; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JDBCUtils { //定義成員變量
    private static DataSource ds; static { try { //加載配置文件
            Properties pro = new Properties(); pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties")); //獲取連接池對象DataSource
            ds = DruidDataSourceFactory.createDataSource(pro); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } //獲取鏈接
    public static Connection getConnection() throws SQLException { return ds.getConnection(); } //釋放資源
    public static void close(Statement stmt,Connection conn){ if (stmt != null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null){ try { conn.close(); //歸還連接
            } catch (SQLException e) { e.printStackTrace(); } } } public static void close(ResultSet rs,Statement stmt, Connection conn){ if (rs != null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null){ try { conn.close(); //歸還連接
            } catch (SQLException e) { e.printStackTrace(); } } } //獲取連接池方法
    public static DataSource getDateSource(){ return ds; } }

 

   2.實現類JdbcTemplate_demo

package cn.xj.datasource.jdbctemplate; import cn.xj.datasource.utils.JDBCUtils; import org.springframework.jdbc.core.JdbcTemplate; public class JdbcTemplate_demo { public static void main(String[] args) { //創建JDBCTemplate對象
        JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDateSource()); //3.調用方法
        String sql = "update account set balance = 5000 where id = ?"; int count = template.update(sql, 3); System.out.println(count); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM