jdbcTemplate queryForMap与queryForList区别

前言

  在我们用java程序和数据库进行数据交换时,在数据访问层(也就是常用的dao层)
  常常会用到orm( Object Relational Mapping) 框架 如 mybatis(半自动) ,hibernate
  用的工具会有 通用Mapper ,sprigdataJpa 以及原生的jdbcTemplate

为什么要用这个jdbcTemplate

1.首先项目里面肯定会有选一种orm 框架,有时避免不了和原生一起用
2.原生的用起来挺方便的
3.多表联查或者复杂查询时,原生的执行效率还是有优势的

如何获取

1.spring进行了封装可以直接注入
2.可以自己封装
3.从工厂容器中去

常用方法

1.jdbcTemplate.queryForMap(String sql)
注意点 :
a. sql 必须能查到数据,不能为 null
b. sql 必须能查到数据, 而且仅有一条
c. 使用时最好捕捉一下异常,try catch
d. 返回取值的key, 就是查询列的字段
example:
String sql = " select a.name as title ,a.age ,a.money from table a";
Map<String,Object> dataMap = jdbcTemplate.queryForMap(sql);
取name值时 : dataMap .get(“title”); 非原字段名
取age值时 : dataMap.get(“age”); 此时取的是原字段
e. 取值是最好是用小写,因为有的项目支持的数据种类多,写的有适配,如 mysql,oracle,plsql,Dm(国产),用大写会导致程序报错

2.jdbcTemplate.queryForList(String sql)
个人是比较倾向于使用这个查这个方法,它查出来是一个集合,没有什么要求,取值前只需要对查询List.size()进行简单的判断即可,然后循环遍历,取值如上。

     谢谢,欢迎指教。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值