JDBCTemplate

1、使用JDBCTemplate的必要性

  一、Spring提供的一個操做數據庫的技術JdbcTemplate,是對Jdbc的封裝。語法風格很是接近DBUtils。java

    JdbcTemplate能夠直接操做數據庫,加快效率,並且學這個JdbcTemplate也是爲聲明式事務作準備,畢竟要對數據庫中的數據進行操縱!mysql

    JdbcTemplate中並無提供一級緩存,以及類與類之間的關聯關係!就像是spring提供的一個DBUtils。spring

    Spring對數據庫的操做使用JdbcTemplate來封裝JDBC,結合Spring的注入特性能夠很方便的實現對數據庫的訪問操做。使用JdbcTemplate能夠像JDBC同樣來編寫數據庫的操做代碼

  2.爲啥要使用Jdbc_template進行開發呢?sql

    Spring對數據庫的操做在jdbc上面作了深層次的封裝,使用spring的注入功能,能夠把DataSource註冊到JdbcTemplate之中。數據庫

    Spring提供的JdbcTemplate對jdbc作了封裝,大大簡化了數據庫的操做。找到Spring JdbcTemplate源碼,能夠看到以下方法:express

    Connection con = DataSourceUtils.getConnection(getDataSource());緩存

    若是直接使用JDBC的話,須要咱們加載數據庫驅動、建立鏈接、釋放鏈接、異常處理等一系列的動做;繁瑣且代碼看起來不直觀。url

    此外,Spring提供的JdbcTempate能直接數據對象映射成實體類,再也不須要獲取ResultSet去獲取值/賦值等操做,提升開發效率;spa

    以下:return (User) jdbcTemplate.queryForObject("select * from tb_test1 where id = 100", User.class)orm

2、配置環境

  ①導入jar包

    [1]IOC容器須要的jar包

      commons-logging-1.1.3.jar
      spring-aop-4.0.0.RELEASE.jar //註解會使用到的包
      spring-beans-4.0.0.RELEASE.jar
      spring-context-4.0.0.RELEASE.jar
      spring-core-4.0.0.RELEASE.jar
      spring-expression-4.0.0.RELEASE.jar

    [2]MySQL驅動、C3P0jar包

      c3p0-0.9.1.2.jar
      mysql-connector-java-5.1.37-bin.jar

    [3]JdbcTemplate須要的jar包

      spring-jdbc-4.0.0.RELEASE.jar
      spring-orm-4.0.0.RELEASE.jar
      spring-tx-4.0.0.RELEASE.jar

  ②在IOC容器中配置數據源

    <!-- 加載properties文件中 信息 -->

      <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 配置數據源 -->

      <bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.passowrd}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="driverClass" value="${jdbc.driver}"></property>
      </bean>

  其中jdbc.properties文件內容:

      jdbc.user=root
      jdbc.passowrd=123456
      jdbc.url=jdbc:mysql://localhost:3306/test
      jdbc.driver=com.mysql.jdbc.Driver

  ③在IOC容器中配置JdbcTemplate對象的bean,並將數據源對象裝配到JdbcTemplate對象中.

    參照文檔:實驗_JDBCTemplate.txt逐一進行試驗!

    固然爲了進行試驗,咱們首先須要導入實驗 JDBCTemplate.sql語句,而後才能試驗!

    將數據庫鏈接信息改成:jdbc.url=jdbc:mysql://localhost:3306/jdbc_template

    <!-- 配置JdbcTemplate對應的bean, 並裝配dataSource數據源屬性-->

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
      <property name="dataSource" ref="comboPooledDataSource"></property>
    </bean>

  ④JdbcTemplate對象的使用

    在類中使用數據庫鏈接時,只須要向類中添加Template類型的屬性,並配置註解:自動注入

    就能夠在該類中使用template操做數據庫,經過template.XXX()方法

    使用完成後不須要關閉數據庫鏈接,Jdbc Template會自動將鏈接放入數據庫鏈接池

相關文章
相關標籤/搜索