Spring对JDBC的支持

JDBCTemplate

JDBCTemplate简介

@(Spring)

  1. 为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架
  2. 作为Spring JDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法。每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务。通过这种方式,可以在尽可能保留灵活性的情况下,将数据库的存取工作降到最低。
  3. 不支持级联属性,它只是一个JDBC工具,不是ORM框架
  4. 是线程安全的,可以在IOC容器中声明它的单个实例,并将这个实例注入到所有DAO实例中
  5. 提供了一个JDBCDaoSupport类来简化DAO实现,该类声明了jdbcTemplate属性,它可以从IOC容器中注入,或者自动从数据源中创建

配置Spring的JdbcTemplate

<bean id="jdbcTemplate"
    class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="数据源beanId">
</bean>

使用JDBCTemplate更新数据库

  1. 单条数据更新:
    public int update(String sql, Object... args) throws DataAccessException
  2. 批量更新
    public int batchUpdate(String sql, List<Object[]> batchArgs) throws DataAccessException

使用JDBCTemplate查询数据库

  1. 查询多行数据
    public <T> <T>queryForObject(java.lang.String sql, java.lang.Class<T> requiredType, java.lang.Object... args)
  2. 查询单条数据
    public <T> List<T> query(java.lang.String sql, RowMapper<T> rowMapper, java.lang.Object... args)
    其中RowMapper指定如何去映射结果的行,常用的实现类为BeanPropertyRowMapper

使用NamedParameterJdbcTemplate

在JDBC模板中使用具名参数

  1. 在JDBC用法中,SQL参数使用占位符?表示,并且受到位置的限制,定位参数的问题在于,一旦参数的顺序发生变化,就必须改变参数绑定
  2. 在SpringJDBC框架中,绑定SQL参数的另一种选择是使用具名参数(namedparameter)
  3. 具名参数:SQL按名称(以冒号开头)而不是按位置进行指定。具名参数更易于维护,也提升了可读性。具名参数由框架类在运行时用占位符取代
  4. 具名参数只在NamedParameterJdbcTemplate中得到支持
    配置如下:
<bean id="namedParameterJdbcTemplate"
    class="org.springframework.jdbc.core.namedparam.NamaedParameterJdbcTemplate">
    <constructor-arg ref="数据源beanId"></constructor-arg>
</bean>

没有无参构造器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vi_NSN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值