`
反求诸己
  • 浏览: 543136 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

Spring -JdbcTemplate 总结

 
阅读更多

  Spring-JdbcTemplate 总结

1. 查询单个对象:

a)      基本类型

================================================

下面两个方法主要适用于静态sql

◆     public Object queryForObject(String sql, RowMapper rowMapper)

◆     public Object queryForObject(String sql, Class requiredType)

注意:requiredType 只能是基本类型的class,只针对基本类型有效

◆     public Object queryForObject(String sql, Object[] args, Class requiredType)

◆     public Object queryForObject(String sql, Object[] args, RowMapper rowMapper)

◆     public Object queryForObject(String sql, Object[] args, int [] argTypes, Class requiredType)

注:其中argTypes 可以使用java.sql.Types常量类中的常量值

◆     public Object queryForObject(String sql, Object[] args, int [] argTypes, RowMapper rowMapper)

注: rowMapper是一个回调接口

以下主要用于查询数值对象

◆     public int queryForInt(String sql, Object[] args)

◆     public long queryForLong(String sql, Object[] args)

==================================================

下面的方法将返回的各个列封装成map对象,key为列名,value为列值.只能一行数据,不能返回多行数据.

◆     public Map queryForMap(String sql, Object[] args)

b)      引用类型

◆     public Object queryForObject(String sql, RowMapper rowMapper)

◆     public Object queryForObject(String sql, Object[] args, RowMapper rowMapper)

◆     public Map queryForMap(String sql, Object[] args)

2. 查询多个对象

a)      基本类型:

◆     public List queryForList(String sql, Object[] args)

注:返回的list的每个元素都是一个map对象,该map对象封装了一行数据且只有一行数据,包括要查询的列字段

b)      引用类型:    

◆     public List queryForList(String sql, Object[] args)

        Iterator iter =  this .jdbcTemplate.queryForList(sql,new Object[]{}).iterator();

        List list = new ArrayList();

        while (iter.hasNext()){

            User user = new User();

            Map map = (Map) iter.next();

            Set<Entry<String, String>> set = map.entrySet();

            Iterator<Entry<String, String>> iter2 = set.iterator();

            Entry<String, String> entry = iter2.next();

            user.setUsername(entry.getValue());

            entry = iter2.next();

            user.setPassword(entry.getValue());

            list.add(user);

       }

◆     public List query(String sql, Object[] args, RowMapper rowMapper)

注:返回的list 中的元素可以是引用类型的对象.

◆       public Object execute(ConnectionCallback action)

注:使用回调接口.将各个字段值封装成引用类型的对象,然后以list方式返回.

3.  修改操作.适用于增、删、改

◆     public int update(String sql, Object[] args)

4.  批处理

  String sql = "insert into user(username,password) values(?,?)";

       final List list = new ArrayList();

       for (int i = 0;i < 5 ; i++){

           User user = new User();

           user.setPassword("dog" + i);

           user.setUsername("dog" + i);

           list.add(user);

       }

       int [] rst = this .jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter(){

           public int getBatchSize() {

              return list.size();

           }

           public void setValues(PreparedStatement ps, int i)

                  throws SQLException {

              User user = (User) list.get(i);

              ps.setString(1, user.getUsername());

              ps.setString(2, user.getPassword());

           }

      });

分享到:
评论

相关推荐

    spring-framework-2.5.6

    对于JDBC,Spring的JdbcTemplate和SimpleJdbcTemplate提供了一种基于模板的方法来执行SQL,避免了手动管理连接和结果集。 四、MVC(Model-View-Controller)框架 Spring MVC是Spring框架的一部分,用于构建Web应用...

    spring的jdbcTemplate小案例

    总结来说,Spring的JdbcTemplate提供了简洁、强大的API,使得数据库操作变得更加简单和安全。通过使用它,我们可以避免手动管理数据库连接,减少潜在的资源泄露问题,同时增强代码的可读性和可维护性。通过结合...

    spring-boot-1.5.3.RELEASE

    总结,Spring Boot 1.5.3.RELEASE以其便捷的初始化、自动配置、内嵌服务器、数据访问和测试支持等特性,极大地提升了开发效率和应用质量。它使得开发者能够更加专注于业务逻辑,而非基础设施的搭建,从而在现代Java...

    spring-framework-reference

    总结来说,Spring框架通过其全面的功能和模块化设计,极大地提升了Java开发的效率和质量。深入理解和熟练掌握Spring,对于任何Java开发者而言,都是至关重要的技能。阅读并实践“spring-framework-reference”参考...

    Spring 学习 JdbcTemplate,模板模式,回调

    本主题将深入探讨Spring框架中的JdbcTemplate组件,以及模板模式和回调机制的概念。 **1. Spring JdbcTemplate** JdbcTemplate是Spring提供的一个用于简化数据库操作的API,它是Spring对JDBC(Java Database ...

    spring-framework-2.0.6-with-dependencies.zip

    总结来说,Spring框架2.0.6是一个强大且全面的Java开发工具,它的DI和AOP特性极大地简化了企业级应用的复杂性。通过理解并熟练运用其核心概念和组件,开发者能够构建出高效、可维护的软件系统。在实际开发中,结合其...

    spring-2.0.8-sources.jar.zip

    Spring 2.0.8加强了对JDBC的抽象,提供了JdbcTemplate和SimpleJdbcTemplate,简化了数据库操作。同时,它还集成了多种ORM框架,如Hibernate、JPA等,提供了统一的编程接口。 八、集成测试 Spring 2.0.8引入了...

    spring-framework-2.5.6-with-dependencies

    1. **DAO操作**:使用Spring的JdbcTemplate或HibernateTemplate进行数据库操作,理解Spring如何简化数据访问层的编写。 2. **事务管理**:通过实例了解如何利用@Transactional注解实现声明式事务。 3. **AOP应用**:...

    spring-framework-4.3.6.RELEASE

    总结来说,Spring Framework 4.3.6.RELEASE是企业级Java开发的重要工具,其丰富的功能和优秀的社区支持,使得它成为了Java EE领域不可或缺的一部分。无论是在传统的MVC应用、微服务架构还是现代的云原生应用中,...

    spring-framework-4.0.0.RELEASE-libs

    总结,Spring Framework 4.0.0.RELEASE是Spring发展的一个关键阶段,它不仅增强了与Java 8的兼容性,还引入了对WebSocket和反应式编程的支持,提升了开发效率和应用性能。通过深入理解和熟练掌握Spring框架,开发者...

    spring-analysis-master.zip

    总结,Spring框架的深度分析涵盖了其核心模块、Web开发、数据访问、事务管理等多个方面,通过学习和理解这些组件,开发者可以更好地运用Spring来构建高效、可维护的大型企业级应用。同时,Spring Boot和Spring Cloud...

    基于注解的Spring JdbcTemplate

    **基于注解的Spring JdbcTemplate** 在Java世界中,Spring框架是企业级应用开发的首选。Spring JDBC模絫提供了一种简洁的方式来处理数据库操作,而`Spring JdbcTemplate`是这个模絫的核心组件。本教程将深入探讨...

    demo-springboot-jdbctemplate:Spring Boot JDBC模板演示

    总结,"demo-springboot-jdbctemplate"项目展示了如何在Spring Boot环境中利用JdbcTemplate进行数据库操作。它涉及了Spring Boot的自动配置、数据源设置、JdbcTemplate的使用、事务管理和错误处理等核心知识点。通过...

    2023版全新SSM框架实战精讲 视频教程 下载下载 因为太大存百度云盘3.zip

    027-spring-ioc-三层架构组件管理介绍和jdbctemplate使用.mp4 028-spring-ioc-三层架构组件管理实战.mp4 029-spring-ioc-基于注解方式ioc配置.mp4 030-spring-ioc-扩展周期方法和作用域注解.mp4 031-spring-ioc-...

    2023版全新SSM框架实战精讲 视频教程 下载下载 因为太大存百度云盘4.zip

    027-spring-ioc-三层架构组件管理介绍和jdbctemplate使用.mp4 028-spring-ioc-三层架构组件管理实战.mp4 029-spring-ioc-基于注解方式ioc配置.mp4 030-spring-ioc-扩展周期方法和作用域注解.mp4 031-spring-ioc-...

    2023版全新SSM框架实战精讲 视频教程 下载下载 因为太大存百度云盘2.zip

    027-spring-ioc-三层架构组件管理介绍和jdbctemplate使用.mp4 028-spring-ioc-三层架构组件管理实战.mp4 029-spring-ioc-基于注解方式ioc配置.mp4 030-spring-ioc-扩展周期方法和作用域注解.mp4 031-spring-ioc-...

    2023版全新SSM框架实战精讲 视频教程 下载下载 因为太大存百度云盘1.zip

    027-spring-ioc-三层架构组件管理介绍和jdbctemplate使用.mp4 028-spring-ioc-三层架构组件管理实战.mp4 029-spring-ioc-基于注解方式ioc配置.mp4 030-spring-ioc-扩展周期方法和作用域注解.mp4 031-spring-ioc-...

    官方源码 spring-framework-5.3.1.zip

    总结,Spring Framework 5.3.1官方源码的学习能让我们深入理解其设计理念和实现细节,从而在实际开发中更有效地运用这一强大框架。通过不断探索和实践,我们可以提升Java开发技能,构建出更加高效、健壮的应用程序。

    4.Spring中的JdbcTemplate,Spring中的的事务,

    ### Spring中的JdbcTemplate #### JdbcTemplate概述 JdbcTemplate是Spring框架提供的一种用于简化JDBC编程的对象。通过封装原生的JDBC API,JdbcTemplate不仅提高了代码的可读性和可维护性,还帮助开发者避免了...

Global site tag (gtag.js) - Google Analytics