一、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
①導入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會自動將鏈接放入數據庫鏈接池