jdbcTemplaate queryForObject的两个易混淆的方法

JdbcTemplate中有两个可能会混淆的queryForObject方法:

1.    Object queryForObject(String sql, Object[] args, Class requiredType)

2.  Object queryForObject(String sql, Object[] args, RowMapper rowMapper)

第1个方法是只查一列的,参数“requiredType”不可以是自定义的类    如果要把查询结果封装为自定义的类,需要采用第2个方法    例如:

//只查询一列:name
  String sql = "SELECT NAME FROM CUSTOMER WHERE CUST_ID = ?";

  String name = (String)getJdbcTemplate().queryForObject(
      sql, new Object[] { custId }, String.class);

  return name;

  //查询返回自定义的类
  String sql = "SELECT * FROM CUSTOMER WHERE CUST_ID = ?";

  Customer customer = (Customer)getJdbcTemplate().queryForObject(
      sql, new Object[] { custId },
      new BeanPropertyRowMapper(Customer.class));

  return customer;
时间: 2024-11-06 05:38:46

jdbcTemplaate queryForObject的两个易混淆的方法的相关文章

概率论中两个易混淆概念(概率分布函数 VS. 概率密度函数)

随机变量的分布函数: 1. 定义 设X是一个随机变量,x是任意实数,函数F(x)=P{X<=x}称为X的分布函数. 2.1 性质 对于任意x1,x2,P{X<=x2}-P{X<=x1}=F(x2)-F(x1),因此分布函数描述了随机变量的统计规律性. 2.2 性质 对于连续型随机变量P{X=a}=0,在这里事件{X=a}并非是不可能事件,但有P{X=a}=0. 随机变量的密度函数: 1. 定义 如果对于随机变量X的分布函数F(x),存在非负函数f(x),使得对于任意实数有 ,则称X为连续

C++之易混淆知识点一

1.const.mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改.volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化.例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序可能会修改其中的内容,或者两个程序可能相互影响,共享数据.该关键字的作用就是为了改善编译器的优化能力.假设编译器发现程序在几条语句中两次使用某个变量的值,则编译器可能不是让程序查找这个编码的值两次,而

易混淆名词辨析

以前学习总是懒得查,懒得问,很多名词都不知道是干嘛的,学的越来越多,混得越来越厉害.这次在学习Asp.net和Javascript中又接触到一些,借此机会,把这些学过的都对比和归纳一下. ADO与ADO.NET ADO: 这是第一年做那五个实例的时候用到过的吧,当时对于连接数据库并不太懂.其实ADO就是应用程序和数据源打交道时中间借助的那么一种东东,通过它我们就可以取出数据库中的数据,当然还可以对数据进行操作然后再保存到数据库. ActiveX DataObjects,一种程序对象,用于表示用户

a链接易混淆用法详解

链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道</a> 而如果这个链接指向的网址你想在浏览器中的新窗口中打开,那么代码如下: <a href="http://www.baidu.com" target="_blank">百度一下,你就知道</a> 那如果我页面中有一堆的a链接都想在

微软BI 之SSIS 系列 - 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节

最近有人问我 OLE DB Destination 中的 Keep Nulls 如何控制 NULL 值的显示,为什么选中了 Keep Nulls 但是数据库中没有 NULL 值? 为什么在 Flat File Source 中勾选上了 Retain null values from the source as null values in the data flow 但是为什么目标表上显示的是一个当前日期,而不是 NULL 值等等,单开此文来解释这些非常容易混淆的概念. 在比较纯粹的 ETL 项

常问易混淆知识点(嵌入式)

b 一.知识点1 a) 关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述).b) C语言中static关键字的具体作用有哪些 ?c) 请问下面三种变量声明有何区别?请给出具体含义int const *p;int* const p;int const* const p; a) 用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里 重新读取它的值,并不要随意针对它作优化. 建议使用volatile变量的

C++之易混淆知识点四---虚函数与虚继承

C++面向对象中,虚函数与虚继承是两个完全不同的概念. 一.虚函数 C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表.派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容不一定相同,后半部分则对应着自己新定义的虚拟函数. class Employee { protected: char *Name; int Age; public: void changeAge(int

PHP易混淆函数的区别及用法汇总

本文实例分析了PHP易混淆函数的区别及用法.分享给大家供大家参考.具体分析如下: 1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1. PHP代码: 复制代码代码如下: $r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo则不

ORACLE 中极易混淆的几个 NAME 的分析和总结

我们知道,Oracle中的各种NAME会在我们的各个配置文件中经常出现,大致有以下这些: 在init.ora中有DB_NAME,INSTANCE_NAME,SERVICE_NAME 配置DG的时候,为了区分主备库,还要使用DB_UNIQUE_NAME 在操作系统中需要配置环境变量,ORACLE_SID 在listener.ora中有SID_NAME,GLOBAL_DBNAME 在tnsname.ora中有SERVICE_NAME,SID,NET SERVICE NAME 那么这么多名字到底有哪些