为了使 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}); } }