查询银行账户的数量
1.建立一个项目导入jar包(ioc aop dao 连接池 数据库驱动 ),拷贝容器对应的配置文件到src下
2.在配置文件中开启组件扫描
3.写一个DAO接口定义一个查询方法
4.定义一个JdbcTemplate的成员变量
4.1在类上加@Repository标注
4.2注入JdbcTemplate,JdbcTemplate创建时要使用到dataSource
4.3使用模板完成查询

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:lang="http://www.springframework.org/schema/lang"
  6. xmlns:mvc="http://www.springframework.org/schema/mvc"
  7. xmlns:util="http://www.springframework.org/schema/util"
  8. xmlns:task="http://www.springframework.org/schema/task"
  9. xmlns:aop="http://www.springframework.org/schema/aop"
  10. xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
  11. http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd
  12. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  13. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
  14. http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-4.1.xsd
  15. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
  16. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd">
  17. <!-- 开启组件扫描 -->
  18. <context:component-scan base-package="com.xcz"></context:component-scan>
  19. <!-- 开启标注形式的mvc -->
  20. <mvc:annotation-driven></mvc:annotation-driven>
  21. <!-- 配置视图处理器 -->
  22. <bean id="ViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  23. <property name="prefix" value="/WEB-INF/"></property>
  24. <property name="suffix" value=".jsp"></property>
  25. </bean>
  26. <!-- 引入外部资源 -->
  27. <context:property-placeholder location="classpath:db.properties"/>
  28. <!-- 配置数据源 -->
  29. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  30. <property name="driverClassName" value="${driverClassName}"></property>
  31. <property name="url" value="${url}"></property>
  32. <property name="username" value="${jdbc.username}"></property>
  33. <property name="password" value="${jdbc.password}"></property>
  34. </bean>
  35. <!-- 定义一个模板 -->
  36. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  37. <constructor-arg index="0" ref="dataSource"></constructor-arg>
  38. </bean>
  39. </beans>

xml

  1. driverClassName=oracle.jdbc.OracleDriver
  2. url=jdbc:oracle:thin:@127.0.0.1:1521:xe
  3. jdbc.username=
  4. jdbc.password=
  5. maxActive=20

db.properties

  1. package com.xcz.dao;
  2.  
  3. public interface XdlBankAccountDao {
  4. int getBankAccount();
  5. }

dao

  1. package com.xcz.impl;
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.jdbc.core.JdbcTemplate;
  5. import org.springframework.stereotype.Repository;
  6.  
  7. import com.xcz.dao.XdlBankAccountDao;
  8.  
  9. @Repository("bankDao")
  10. public class XdlBankAccountImpl implements XdlBankAccountDao{
  11. @Autowired
  12. private JdbcTemplate jdbcTemplate;
  13. @Override
  14. public int getBankAccount() {
  15. String sql = "select count(1) from xdl_bank_account";
  16. return jdbcTemplate.queryForInt(sql);
  17. }
  18. }

impl

  1. package com.xcz.test;
  2.  
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5.  
  6. import com.xcz.dao.XdlBankAccountDao;
  7. import com.xcz.impl.XdlBankAccountImpl;
  8.  
  9. public class TestXdlBankAccount {
  10. public static void main(String[] args) {
  11. ApplicationContext ioc = new ClassPathXmlApplicationContext("mvc.xml");
  12. XdlBankAccountDao count = ioc.getBean("bankDao", XdlBankAccountImpl.class);
  13. System.out.println(count.getBankAccount());
  14. }
  15. }

test

Spring(三)使用JdbcTemplate对象完成查询的更多相关文章

  1. Spring Data JPA 自定义对象接收查询结果集

    Spring Data JPA 简介 Spring Data JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和 ...

  2. 【Spring JDBC】JdbcTemplate(三)

    传统Jdbc API与Spring jdbcTemplate比较 //JDBC API Statement statement = conn.createStatement(); ResultSet ...

  3. JDBC(三)----Spring JDBC(JDBCTemplate)

    ##  Spring  JDBC *  Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发 1.步骤 1.导入jar包 2.创建JDBCTemplate对象 ...

  4. Spring如何使用JdbcTemplate调用存储过程的三种情况

    注:原文 <Spring如何使用JdbcTemplate调用存储过程的三种情况 > Spring的SimpleJdbcTemplate将存储过程的调用进行了良好的封装,下面列出使用Jdbc ...

  5. 面渣逆袭:Spring三十五问,四万字+五十图详解

    大家好,我是老三啊,面渣逆袭 继续,这节我们来搞定另一个面试必问知识点--Spring. 有人说,"Java程序员都是Spring程序员",老三不太赞成这个观点,但是这也可以看出S ...

  6. Ehcache 整合Spring 使用页面、对象缓存

    Ehcache 整合Spring 使用页面.对象缓存 Ehcache在很多项目中都出现过,用法也比较简单.一 般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布 ...

  7. EasyUi+Spring Data 实现按条件分页查询

    Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...

  8. spring入门之JdbcTemplate 操作crud

    Spring 通过调用 JdbcTemplate来实现对数据库的增删改查,主要用到JdbcTemplate类的4个方法,首先,配置数据库信息,创建对象,代码通用: //设置数据库信息 DriverMa ...

  9. Spring:(三) --常见数据源及声明式事务配置

    Spring自带了一组数据访问框架,集成了多种数据访问技术.无论我们是直接通过 JDBC 还是像Hibernate或Mybatis那样的框架实现数据持久化,Spring都可以为我们消除持久化代码中那些 ...

随机推荐

  1. C# - 为引用类型重定义相等性

    通常情况下引用类型的相等性是不应该被重定义/重写的. 例如两个引用类型的变量 x 和 y,如果这样写:if(x == y) {...},那么大家都明白,这个比较的是引用的相等性. 但是有少数情况下,也 ...

  2. String求求你别秀了

    小鲁班今年计算机专业大四了,在学校可学了不少软件开发的东西,也自学了一些JAVA的后台框架,踌躇满志,一心想着找个好单位实习.当投递了无数份简历后,终于收到了一个公司发来的面试通知,小鲁班欣喜若狂. ...

  3. clang如何获得程序控制流图

    在低版本的clag中,可以直接clang -cc1 -analyze -cfg-dump 1.c来获得程序控制流图,但较高版本后就不行了 另外clang -cc1默认仅限当前目录,所以会出现fata ...

  4. js 原型,原型链,原型链继承浅析

    对于网上的关于原型,原型链和原型链继承的晦涩语言说明就不累赘了,复制粘贴过来再解释一遍怕自己也整蒙了,本人最怕空气突然安静,四目对视,大眼对小眼,一脸懵逼. 我们先看下面

  5. 用CSS画一个带阴影的三角形的示例代码

    1. 思路 怎么用CSS3画一个带阴影的三角形呢 ? 有童鞋说, 这还不简单吗 网上有很多解决方案, 但其实大多都是实现不太完美的, 存在一些问题 假设我们做一个向下的三角形箭头 常见的方法大致有两种 ...

  6. Android之日志管理(Log)

    ##文章大纲一.为什么要使用日志管理工具二.日志管理工具实战三.项目源码下载 ##一.为什么要使用日志管理工具###1. 对IT安全至关重要  当您使用强大的日志管理软件自动触发以保护您的系统时,您已 ...

  7. 在线修改redo日志大小

    注意点:1.redo要是能sesize的话就完美了2.drop时候如果active就得checkpoint才能drop3.物理删除旧redo文件redo大小影响切换,进而影响性能,至于什么样的业务设置 ...

  8. Liunx-mv命令

    mv要是不明白什么意思,你就把它想象成Windows里面剪切文件夹/文件,然后再去粘贴的操作,你就会明白的. 1. 移动一个文件夹(rightr文件夹,移动到/201904/a目录) 出现这个错误的原 ...

  9. 如何快速掌握DDT数据驱动测试?

    1.前言 (网盗概念^-^)相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动.(网盗结束)当我们测试某个网站的登录功能时,我们往往会使用不同的用 ...

  10. Linux下ps -ef和ps aux的区别

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...