爲了使 JDBC 更加易於使用,Spring 在 JDBCAPI 上定義了一個抽象層, 以此創建一個JDBC存取框架.java
做爲 SpringJDBC 框架的核心, JDBC 模板的設計目的是爲不一樣類型的JDBC操做提供模板方法. 每一個模板方法都能控制整個過程,並容許覆蓋過程當中的特定任務.經過這種方式,能夠在儘量保留靈活性的狀況下,將數據庫存取的工做量降到最低.spring
JdbcTemplate主要提供如下五類方法:
execute方法:能夠用於執行任何SQL語句,通常用於執行DDL語句;
update方法及batchUpdate方法:update方法用於執行新增、修改、刪除等語句;batchUpdate方法用於執行批處理相關語句;
query方法及queryForXXX方法:用於執行查詢相關語句;
call方法:用於執行存儲過程、函數相關語句。數據庫
一、配置Spring JDBCexpress
<!--********************************************配置Spring***************************************--> <!-- 自動掃描 --> <context:component-scan base-package="com.demo"> <!-- 掃描時跳過 @Controller 註解的JAVA類(控制器) --> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!-- SpringJDBC --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <!--********************************************配置hibernate********************************************--> <!--掃描配置文件(這裏指向的是以前配置的那個config.properties)--> <context:property-placeholder location="classpath:/config.properties" /> <!--配置數據源--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driver}" /> <!--數據庫鏈接驅動--> <property name="jdbcUrl" value="${jdbc.url}" /> <!--數據庫地址--> <property name="user" value="${jdbc.username}" /> <!--用戶名--> <property name="password" value="${jdbc.password}" /> <!--密碼--> <property name="maxPoolSize" value="40" /> <!--最大鏈接數--> <property name="minPoolSize" value="1" /> <!--最小鏈接數--> <property name="initialPoolSize" value="10" /> <!--初始化鏈接池內的數據庫鏈接--> <property name="maxIdleTime" value="20" /> <!--最大空閒時間--> </bean>
二、dao層用法 只寫了insert方法框架
package com.demo.dao.impl; import com.demo.dao.UserJdbc; import com.demo.pojo.User; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @Repository public class UserJdbcImpl implements UserJdbc { @Resource private JdbcTemplate jdbcTemplate; public void save(User user) { jdbcTemplate.update("insert into t_user(id,username,password,age,tel,cjsj,deleted) values (?,?,?,?,?,?,?)", new Object[]{ user.getId(), user.getUsername(), user.getPassword(), user.getAge(), user.getTel(), user.getCjsj(), 0}); } }