🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 简介 * 为了使jdbc更加易于使用,spring在jdbc api上定义了一个抽象层,以此建议一个jdbc存取框架 * 作为spring jdbc框架的核心,jdbc模板的设计目的是为了不同类型的jdbc操作提供模板方法.每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务.通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低 # jdbc更新数据库的方法 * 用sql和参数更新数据库 ~~~ public int update(String sql, Object... args) throws DataAccessException ~~~ * 批量更新数据库 ~~~ public int[] batchUpdate(String sql, List<Object[]> batchArgs) ~~~ * 查询单行 ~~~ public <T> T queryForObject(String sql, ParameterizedRowMapper<T> rm, Object... args) throws DataAccessException ~~~ * 便利的BeanPropertyRowMapper实现 ~~~ org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper<T> ~~~ * 查询多行 ~~~ public <T> List<T> query(String sql, ParameterizedRowMapper<T> rm, Object... args) throws DataAccessException ~~~ * 单值查询 ~~~ public <T> T queryForObject(String sql, Class<T> requiredType, Object... args) throws DataAccessException ~~~ # 简化JDBC模板查询 * 每次使用都创建一个jdbcTemplate的新实例,这种做法效率很低 * JDBCTemplate类被设计成线程安全的,所以可以在IOC容器中声明它的单个实例,并将这个实例注入到所有DAO实例中 * JDBCTemplate也利用了java 1.5的特定(自动装箱,泛型,可变长度等)来简化开发 * spring jdbc框架还提供了一个jdbcDaoSupport类来简化DAO实现.该类声明了JDBCTemplate属性,它可以从IOC容器中注入,或者自动从数据源中创建