Spring jdbc----JdbcTemplate

爲了使 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});
    }
}
相關文章
相關標籤/搜索