Spring的JdbcTemplate

Spring的JdbcTemplate

首先肯定得导入jar包

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-jdbc</artifactId>
     <version>5.0.2.RELEASE</version>
</dependency>

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-tx</artifactId>
     <version>5.0.2.RELEASE</version>
</dependency>

接下来看看创建:

public static void main(String[] args) {
        //准备数据源,这里使用spring的内置数据源
    	//学习使用,开发请使用Spring的IOC
        DriverManagerDataSource ds = new DriverManagerDataSource();
        ds.setDriverClassName("");
        ds.setUrl("");
        ds.setUsername("");
        ds.setPassword("");

        //1.创建JdbcTemplate对象
        JdbcTemplate jt = new JdbcTemplate();
        //给jt设置数据源
        jt.setDataSource(ds);
    }

再看看增删查改操作:

		//保存 
        jt.update("insert into account(name, money) values(?, ?)", "name", 3333f);
        //更新
        jt.update("update account set name=?, money=? where id=?", "test", 4567, 7);
        //删除
        jt.update("delete from account where id=?", 8);
        //查询
        List<Account> accounts = jt.query("select * from account where money > ?",
                            new BeanPropertyRowMapper<Account>(Account.class), 1000f);
        //查询返回一行一列(使用聚合函数,但不加group by子句)
        Long count = jt.queryForObject("select count(*) from account where money > ?", 																		  Long.class, 1000f);

再说一个经常使用的类,JdbcDaoSupport。

来看一下它的setDataSource()和getJdbcTemplate(),其它原码将不看了:

public abstract class JdbcDaoSupport extends DaoSupport {
    @Nullable
    private JdbcTemplate jdbcTemplate;

    public JdbcDaoSupport() {}

    public final void setDataSource(DataSource dataSource) {
        if (this.jdbcTemplate == null || dataSource != this.jdbcTemplate.getDataSource()) 	 		{
            this.jdbcTemplate = this.createJdbcTemplate(dataSource);
            this.initTemplateConfig();
          }

    }

    protected JdbcTemplate createJdbcTemplate(DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Nullable
    public final JdbcTemplate getJdbcTemplate() {
        return this.jdbcTemplate;
    }

}

加入现在有一个DaoImpl继承了这个JdbcDaoSupport,那么也相应的获得了setDataSource()和getJdbcTemplate()这两个方法。

所以在xml中配置DaoImpl的时候,只要注入一个DataSoure,就可以使用getJdbcTemplate()来获取JdbcTemplate对象了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值