JdbcTemplate

JdbcTemplate

  • spiring 提供用于操作jdbc工具類,類似:DBUtils;
  • 依賴 連接池DataSource(數(shù)據(jù)源)

1.1 搭建環(huán)境

1.1.1 創(chuàng)建表

create database ee19_spring_day02;
use ee19_spring_day02;
create table t_user(
    id int primark key auto_increment,
    username varchar(50),
    password varchar(32)
)

1.1.2 javabean

public class User {

    private Integer id;
    private String username;
    private String password;

1.2使用api

 //1.創(chuàng)建數(shù)據(jù)源(連接池)dbcp
        BasicDataSource dataSource = new BasicDataSource();
        //基本四項(xiàng)
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/ee19_spring_day02");
        dataSource.setUsername("root");
        dataSource.setPassword("123456");


        //2創(chuàng)建模板
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        jdbcTemplate.setDataSource(dataSource);

        //通過api操作   ]
        jdbcTemplate.update("insert into t_user(username,password) value (?,?);","tom","998");
    

1.3 配置DBCP

<!--創(chuàng)建數(shù)據(jù)源-->
    <bean id="dataSourceId" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="jdbc:mysql://localhost:3306/test"/>
        <property name="url" value="jdbc:mysql://localhost:3306/ee19_spring_day02"></property>
        <property name="username" value="root"/>
        <property name="password" value="12345678"/>
    </bean>
    <!--創(chuàng)建模板,需要注入數(shù)據(jù)源-->
    <bean id="jdbcTemplateId" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSourceId"></property>
    </bean>

    <!--配置dao-->
    <bean id="userDaoId" class="com.xft.c_dbcp.UserDao">
        <property name="jdbcTemplate" ref="jdbcTemplateId"/>
    </bean>

1.4 配置c3p0

<!-- c3p0 創(chuàng)建數(shù)據(jù)源-->
    <bean id="dataSourceId" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="dataSourceName" value="jdbc:mysql://localhost:3306/t_user"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ee19_spring_day02"></property>
        <property name="user" value="root"/>
        <property name="password" value="12345678"/>
    </bean>
    <!--創(chuàng)建模板,需要注入數(shù)據(jù)源-->
    <bean id="jdbcTemplateId" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSourceId"></property>
    </bean>

    <!--配置dao-->
    <bean id="userDaoId" class="com.xft.d_c3p0.UserDao">
        <property name="jdbcTemplate" ref="jdbcTemplateId"/>
    </bean>

1.5

1.5.1 dao層

public class UserDao extends JdbcDaoSupport {


    public void update(User user){
        String sql = "update t_user set username=?,password=?,where id=?";
        Object[] args = {user.getUsername(),user.getPassword(),user.getId()};
        this.getJdbcTemplate().update(sql,args);
    }

    public List<User> findAll(){

        return this.getJdbcTemplate().query("select * from t_user",new BeanPropertyRowMapper<User>(User.class));
    }

}

1.5.2 spring配置文件

 <!--配置dao
        * dao 繼承JdbcDaoSupport,之后只需要注入數(shù)據(jù)源,底層將自動(dòng)創(chuàng)建模板
    -->
    <bean id="userDaoId" class="com.xft.e_jdbcdaosupport.UserDao">
        <property name="dataSource" ref="dataSourceId"/>
    </bean>

1.6 properties

properties文件的內(nèi)容

jdbc.dataSourceName=jdbc:mysql://localhost:3306/t_user
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/t_user/ee19_spring_day02
jdbc.user=root
jdbc.password=12345678


 <!--加載配置文件
        classpath: 前綴表示src下
        在配置文件中通過${key}獲取
    -->
    <context:property-placeholder location="classpath:com/xft/f_property/jdbcInfo.properties"/>
    <!-- c3p0 創(chuàng)建數(shù)據(jù)源-->
    <bean id="dataSourceId" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="dataSourceName" value="${jdbc.dataSourceName}"/>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
        <property name="user" value="${jdbc.user}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <!--創(chuàng)建模板,需要注入數(shù)據(jù)源-->
    <bean id="jdbcTemplateId" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSourceId"></property>
    </bean>

    <!--配置dao
        * dao 繼承JdbcDaoSupport,之后只需要注入數(shù)據(jù)源,底層將自動(dòng)創(chuàng)建模板
    -->
    <bean id="userDaoId" class="com.xft.e_jdbcdaosupport.UserDao">
        <property name="dataSource" ref="dataSourceId"/>
    </bean>

·

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 大家好,我是IT修真院鄭州分院第11期的JAVA學(xué)員何爽,一枚正直純潔善良的java程序員。 今天給大家分享一下,...
    犯二的貝殼閱讀 973評(píng)論 0 3
  • 1、JdbcTemplate基本使用 1)、JdbcTemplate基本使用-概述(了解) 2)、JdbcTemp...
    pndHappiness閱讀 904評(píng)論 0 1
  • 1、添加數(shù)據(jù)源 既然要使用JdbcTemplate,就需要添加jdbc的依賴。 2、連接數(shù)據(jù)源,以mysql為例:...
    木石前盟Caychen閱讀 961評(píng)論 0 1
  • 一、JdbcTemplate 簡(jiǎn)介 為了使 JDBC 更加易于使用, Spring 在 JDBC API 上定義了...
    leeqico閱讀 535評(píng)論 0 1
  • 今天的智齒非常疼。醫(yī)生和我說,沒關(guān)系的,長(zhǎng)智齒就是長(zhǎng)長(zhǎng)停停、等長(zhǎng)得差不多了,你愿意拔掉就拔了。 這世界上真好,還有...
    金襄閱讀 142評(píng)論 0 0

友情鏈接更多精彩內(nèi)容