JdbcTemplate.query返回数据库某行的list数据并按照自定义bean输出

  • 可直接跳转到Service层。

写此文原因:
调用jdbc.queryForObject时抛出异常:INCORRECT COLUMN COUNT: EXPECTED 1, ACTUAL 3
即:预期1列,但查出来的数据有3列。

自定义bean

package com.lm.hadoop.Vo;

public class NetDiskUser {
    public String userId;
    public long all;
    public long bll;
    
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }

    public long getAll() {
        return all;
    }

    public void setAll(long all) {
        this.all = all;
    }
    
   public long getBll() {
        return bll;
    }

    public void setBll(long bll) {
        this.bll = bll;
    }
    public NetDiskUser(){}
}

mysql

userid——string
a——longint
b——longint

(不想贴图了)

Service层

使用方式
String sql = "SELECT a,b FROM table where userid ="+"'" +userid+"'";
//把查询的结果封装到集合中,即使没有查询到,集合size=0 ,不会有异常
List<NetDiskUser> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(NetDiskUser.class));
调用方式(发现好多帖子都没出这个如何调出对象,可能是因为太简单了)
//迭代器遍历(不然返回对象地址)
 for(Iterator<NetDiskUser> it=list.iterator();it.hasNext();){
NetDiskUser  netDiskUser=it.next();
//调用bean方法输出
Long all= netDiskUser.getAll();
Long bll= netDiskUser.getBll();
it.remove();
}

jdbc.queryForObject的三个参数

jdbc.queryForObject(sql语句,要传入的object值,返回类型)

参数名参数值举例
sql语句sql“select count(*) from table where userid=?”
传入的object值new Object[](对应sql语句中?的值)new Object[](userid)
返回类型基本类型String.class、Interger.class
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值