`
huibin
  • 浏览: 755051 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Spring JDBC数据库操作类

阅读更多

1.JdbcTemplate
       在Spring中,JdbcTemplate是最常被使用的类,它为用户程序提供了许多便利的数据库操作方法,比如查询、更新等。JdbcTemplate是core包的核心类,它替我们完成了资源的创建及释放工作,从而简化了对JDBC的使用。
   1)执行SQL语句
        一旦获得一个DataSource和一个JdbcTemplate,我们就可以使用JdbcTemplate提供的丰富功能实现我们的操作。下面创建一张表:
         public void execute(){
               JdbcTemplate jdbc = new JdbcTemplate(dataSource);
               jdbc.execute("create table username(id integer,username  varchar(20),password varchar(20),email varchar(50))");
}

    2)执行单表查询
          比如返回一个汇总(count)结果或者从返回行结果中取得指定列的值,我们使用queryForInt()、queryForLong()或者queryForObject()方法。queryForObject方法用来将返回的JDBC类型对象转换成指定的Java对象,如下例:
          public int getCount(){
               JdbcTemplate jdbc = new JdbcTemplate(dataSource);
               return count=jdbc.queryForInt("select count(*)from user");
}
                public String getUsername(){
                    JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                    return name=(String) jdbc.queryForObject("select name from username",String.class);
}

      3)执行条件查询
             在调用queryForObject()进行查询时,需要先使用回调方法创建一个RowMapper类型变量,在执行查询时输入该回调变量,并输入查询的参数数组,如下所示:
         public User findUser(long id){
              String sql="select id,username,password,email from user where id=?";
             RowMapper mapper = new RowMapper(){
                public Object mapRow(ResultSet rs,int rowNum)throws SQLException{
                    User user = new User();
                    user.setId(is.getLong("id"));
                    user.setUsername(rs.getString("username"));
                    user.setPassword(rs.getString("password"));
                    user.setEmail(rs.getString("email"));
                   return user;
        }
  };
                JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                return (User)jdbc.queryForObject(sql,mapper,new Object[]{Long.vlaueof(id)});

}

        4)返回查询列表
           返回表中的所有记录:
           public List getUserList(){
               JdbcTemplate jdbc = new JdbcTemplate(dataSource);
               List rows = jdbc.queryForList("select id,username from user");
              return rows;
}
          返回的结果集类似下面这种形式:
                 [{id=1,username=admin},{id=2,username=test}]

         如果返回的结果集部止两个字段,则可以使用回调的方式将每一行记录转换为一个JavaBean对象。如下所示,使用query函数进行查询,并进行了行的回调。在回调中对每一个结果集转换为User对象:
          public boolean getUserList(String username,String password){
                  JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                  List userList=jdbc.query("select*from user"),
                   new RowMapper(){
                      public Object mapRow(ResultSet rs,int rowNum)throws Exception{                       
                        User user = new User();
                        user.setId(is.getLong("id"));
                        user.setUsername(rs.getString("username"));
                        user.setPassword(rs.getString("password"));
                        user.setEmail(rs.getString("email"));
                        return user;
               }
      });
   return userList;
}

        5)执行更新语句
             可以使用update()来执行一个更新的SQL语句,其中的问号表示的参数使用数组表示,如下所示:
               public void updateUsername(int id,String name){
                   JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                   jdbc.update("update mytable set name=?where id=?",new Object[]{name,new Long(id)});


分享到:
评论

相关推荐

    使用spring jdbc template简化jdbc数据库操作实例代码

    Spring JDBC Template是Spring框架的一部分,它为Java数据库连接(JDBC)提供了一种抽象层,目的是简化数据库操作,同时保留了JDBC的灵活性。在实际开发中,它可以帮助我们避免编写大量的样板代码,如手动打开和关闭...

    JDBC数据库辅助类

    综上所述,这个JDBC数据库辅助类通过一系列辅助类和配置文件,实现了对JDBC操作的抽象和封装,降低了直接使用JDBC的复杂性,提高了代码的可读性和可维护性。开发者可以更专注于业务逻辑,而不用过于关注数据库连接和...

    spring_JDBC整合包

    Spring JDBC是Spring框架的一个重要模块,它简化了Java数据库连接(JDBC)的使用,提供了更高级别的抽象,使得数据库操作更加简洁、易管理和模块化。这个"spring_JDBC整合包"显然包含了进行Spring JDBC开发所需的...

    Spring JDBC常用Jar包

    在Spring JDBC中,事务管理是关键功能,它确保了数据库操作的原子性、一致性、隔离性和持久性(ACID特性)。通过这个库,你可以轻松地管理事务的开始、提交、回滚等操作。 3. **spring-core-3.2.3.RELEASE.jar**: ...

    spring jdbc.zip

    在Spring框架中,Spring JDBC(Java Database Connectivity)模块扮演着重要的角色,它为开发者提供了一种更高效、更简洁的方式来处理数据库操作。本篇将深入探讨Spring JDBC的核心概念、使用方法以及它如何通过...

    Spring Jdbc的jar包

    Spring JDBC是Spring框架的一个核心模块,它为Java数据库连接(JDBC)提供了一种抽象层,使得开发者可以更轻松地处理数据库操作。Spring JDBC的主要目标是简化数据访问,减少直接使用JDBC时的繁琐工作,如手动管理...

    springjdbc.zip_SpringJDBC_spring jdbc_spring 增删改查_springjdbc xml

    这个`springjdbc.zip`压缩包很可能包含了示例代码和配置文件,用于演示如何使用Spring JDBC来执行基本的数据库操作,如增、删、改、查。 1. **Spring JDBC模块**:Spring JDBC模块主要由`org.springframework.jdbc`...

    Spring JDBC与事务管理

    (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口,编写BookShopDaoImp类实现该接口中的所有方法,并通过JUnit测试这些方法。 (2)(2) 在BookShopDao中添加一个purchase购书方法,其操作流程是...

    spring-jdbc jar包.rar

    - **代码简洁性**:通过模板类和回调接口,Spring JDBC减少了大量重复的样板代码,使得数据库操作代码更加简洁明了。 - **事务管理**:集成Spring的事务管理,可以方便地实现事务的传播行为和回滚策略,提升代码的可...

    SpringJDBC.rar_SpringJDBC_spring jdbc

    通过这个SpringJDBC.rar的案例,初学者可以学习到如何配置DataSource,如何创建JdbcTemplate实例,以及如何编写和执行SQL语句。同时,实践中还可以了解到如何将Spring JDBC整合到Spring Boot项目中,以及如何处理...

    spring jdbc相关包版本5.1.3

    4. **spring-jdbc-5.1.3.RELEASE.jar**:此包专注于数据库操作,提供了模板类如`JdbcTemplate`和`SimpleJdbcInsert`,使得数据库操作更加简洁,避免了手动管理连接和结果集。 5. **spring-aop-5.1.3.RELEASE.jar**...

    spring JDbc

    Spring JDBC是Spring框架的一个核心模块,它为Java数据库连接(JDBC)提供了一个高级抽象层,简化了数据库操作。在本实例中,我们将深入探讨Spring JDBC的使用,并以`SpringJdbcTemplate`为例来阐述其主要功能和优势...

    Spring事务管理和SpringJDBC思维导图

    而"Spring JDBC.twd"可能会展示Spring JDBC的主要类、方法以及它们在数据库操作中的应用。 通过学习和理解这些知识点,开发者可以更高效地使用Spring框架进行数据库操作,同时保证事务处理的正确性和性能。掌握...

    spring中jdbc的操作

    在Java世界里,Spring框架是应用最广泛的轻量级开源框架之一,它为开发者提供了许多便利,包括数据库操作。在本资源中,我们主要探讨的是Spring JDBC模块,它简化了Java Database Connectivity (JDBC)的使用,使得在...

    spring jdbc示例代码

    Spring JDBC是Spring框架的一部分,它提供了一种更高级的方式来处理传统的Java JDBC(Java Database Connectivity),以简化数据库操作。本示例代码将展示如何在Spring环境中使用JDBC进行数据的增删改查操作,并对比...

    spring对jdbc的支持jar包

    首先,Spring JDBC的核心是`org.springframework.jdbc`包,它提供了一套高级抽象,用于简化数据库操作。在Spring 4.0版本中,这个模块已经相当成熟和完善,能够处理各种复杂的数据库交互任务,同时保持代码的简洁性...

    spring JDBC所需jar包

    Spring JDBC模块是Spring框架的一部分,它简化了JDBC的使用,使得开发者可以更加专注于业务逻辑,而不是数据库操作的繁琐细节。本知识点将深入探讨在使用Spring 3.0及以上版本进行JDBC操作时所需的额外jar包及其作用...

    spring的jdbc工具类

    spring的jdbc工具类,对数据库的操作,对数据库进行增删改查的操作

    Spring JDBC应用实例讲解

    Spring JDBC是Spring框架中的一个核心模块,主要用于简化Java数据库编程。在本文中,我们将深入探讨Spring JDBC的应用实例,了解如何利用它来实现高效且灵活的数据访问。首先,我们需要理解Spring JDBC是如何通过...

    SpringJDBC训练素材.zip

    Spring JDBC是Spring框架的一部分,它提供了一种抽象层,使得开发者可以更方便地使用Java数据库连接(JDBC)进行数据库操作。Spring JDBC的核心是JdbcTemplate类,它简化了执行SQL语句的过程,减少了代码量,并提高...

Global site tag (gtag.js) - Google Analytics