`
huanglz19871030
  • 浏览: 248694 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring JdbcTemplate操作类

阅读更多
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)执行更新语句
             可以使用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)});
}

     execute和update方法之间的区别是:update方法返回的是受影响的记录数目的一个计数,并且如果传入一个参数的话,使用的是Java.sql.PreparedStatement;而execute方法总是使用java.sql.Statement,不接受参数,而且它不返回受影响记录的计数,更适合创建和丢弃表的语句,而update方法更适合于插入、更新和删除操作,这是需要注意的。    

    3)执行单表查询
          比如返回一个汇总(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);
}

      4)执行条件查询
             在调用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(rs.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)});

}

        5)返回查询列表
           返回表中的所有记录:
           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;
}

0
0
分享到:
评论

相关推荐

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate是一个模板类,它提供了大量的方法来执行SQL查询、更新、存储过程等操作。这些方法会自动处理JDBC相关的资源关闭、异常转换等细节,使得代码更加整洁和健壮。 2. **数据库自适应** Spring...

    基于注解的Spring JdbcTemplate

    Spring JDBC模絫提供了一种简洁的方式来处理数据库操作,而`Spring JdbcTemplate`是这个模絫的核心组件。本教程将深入探讨如何使用基于注解的Spring JdbcTemplate进行数据库操作,特别适合初学者入门学习。 ### 1. ...

    spring-jdbcTemplate实例工程

    在这个实例工程中,我们将深入探讨Spring JdbcTemplate的基本使用、优势以及常见操作。 一、Spring JdbcTemplate简介 Spring JdbcTemplate的出现是为了弥补原生JDBC在编码上的繁琐,它通过模板方法模式,将SQL执行...

    Spring JdbcTemplate 常用方法整理

    Spring的JdbcTemplate是Spring框架中用于简化数据库操作的工具类,它是基于JDBC但又抽象出了一层,避免了直接与数据库驱动API交互,从而提高了代码的可读性和可维护性。本文将深入探讨Spring JdbcTemplate的常用方法...

    Spring JdbcTemplate

    在提供的文件列表中,`BaseDao.java`和`BaseDaoImpl.java`很可能是自定义的基类和实现类,用于封装JdbcTemplate的常用操作。BaseDao通常会定义一些基本的CRUD(创建、读取、更新、删除)方法,如`selectById(int id)...

    Spring JDBCTemplate连接池jar包

    总之,Spring JDBCTemplate结合连接池提供了一个高效且易于使用的数据库访问层,它降低了数据库操作的复杂性,同时也提升了系统的性能。正确配置和使用这些库,可以极大地优化我们的数据库应用程序。

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储过程,然后编写 Java 代码使用 Spring JdbcTemplate 调用...

    strut2+spring+springjdbctemplate做的简易登录系统

    Spring JDBC Template是Spring提供的一个简化数据库操作的工具,它封装了JDBC的繁琐部分,让开发者可以更专注于业务逻辑。 在这个“简易登录系统”中,Struts2主要承担用户界面和控制器之间的交互。用户在登录页面...

    模仿spring jdbcTemplate的实现

    模仿spring jdbcTemplate的粗略实现,只有很小的参考价值,如果是java初学者可以使用这个封装好的工具进行数据库操作,只需要在db.properties里配置好driver,url等信息

    Spring JdbcTemplate查询实例

    Spring JdbcTemplate是Spring框架中用于简化数据库操作的一个重要组件,它是Spring对JDBC的轻量级封装,旨在提供一种结构良好、易于使用的SQL执行机制,同时保持了JDBC的灵活性。在本实例中,我们将深入探讨Spring ...

    Spring JdbcTemplate例子

    Spring JdbcTemplate是Spring框架中的一个核心组件,主要用来简化数据库操作。它提供了一种模板方法设计模式,将SQL语句的执行与结果处理进行了抽象,使得开发者可以更加专注于业务逻辑,而无需关心底层数据访问的...

    Spring JdbcTemplate api

    ### Spring JdbcTemplate API:数据库操作的模板模式 #### 概述 在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,它采用了模板模式来分离数据库访问中的不变和可变部分,提供了一种更加健壮且易于...

    spring的jdbcTemplate小案例

    JdbcTemplate是Spring提供的一种数据库操作工具,它简化了数据库访问,使开发者能够编写出更健壮、更易于维护的代码,避免了手动处理JDBC连接、预编译SQL语句等繁琐任务。 首先,我们来理解一下JdbcTemplate的基本...

    spring jdbcTemplate 注入到servlet

    在Java Web开发中,Spring框架提供了丰富的工具来简化数据库操作,其中之一就是`Spring JdbcTemplate`。`JdbcTemplate`是Spring对JDBC(Java Database Connectivity)的一层轻量级封装,它使得开发者能够更加方便地...

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

    在Spring中,JdbcTemplate就是一个典型的模板类,它实现了数据库操作的基本流程,如创建Connection、PreparedStatement、处理结果集等。用户可以通过扩展或自定义模板方法来实现特定的数据库操作逻辑。 **3. 回调...

    SSH笔记-Spring JdbcTemplate

    3. **结果集处理**:对于查询操作,JdbcTemplate可以将结果集映射到Java对象,这通常通过实现RowMapper接口或使用BeanPropertyRowMapper类来完成。RowMapper允许自定义对象映射逻辑,而BeanPropertyRowMapper则会...

    spring jdbcTemplate

    例如,我们可以创建一个`BookService`类,该类注入了JdbcTemplate并提供操作图书的方法: ```java @Service public class BookService { @Autowired private JdbcTemplate jdbcTemplate; public void addBook...

    一个简单易用可对象操作基于SpringJdbcTemplate的JDBC帮助包

    标题中的“一个简单易用可对象操作基于SpringJdbcTemplate的JDBC帮助包”指的是一个专为简化Java开发中数据库操作而设计的工具包。这个工具包利用了Spring的JdbcTemplate,它是一个轻量级的ORM(对象关系映射)框架...

    Spring jdbctemplate + mysql 分页封装

    在IT行业中,数据库操作是应用开发中的重要环节,Spring框架的JdbcTemplate是Java开发者常用的数据库访问工具,它简化了SQL的执行和结果处理。本文将深入探讨如何利用Spring的JdbcTemplate进行MySQL数据库的分页查询...

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

    Spring框架提供了多种模板类来处理不同的数据访问需求,例如JdbcTemplate主要针对关系型数据库的操作。 在使用JdbcTemplate前,需要导入两个jar包: - spring-jdbc-4.2.4.RELEASE.jar:包含JdbcTemplate及与数据库...

Global site tag (gtag.js) - Google Analytics