【问题标题】:how to retrieve a list using like statement in JDBCTemplate ?如何在 JDBCTemplate 中使用 like 语句检索列表?
【发布时间】:2017-11-12 03:22:30
【问题描述】:

我尝试返回带有输入单词的数据列表,但它返回 null

    public List<people> peoples(String l) {

    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    try {
        String sql = "select * from people where peopleName like '?' ;";
        List<people> peoples = jdbcTemplate.query(sql, new Object[]{"%"+l+"%"},
                new BeanPropertyRowMapper<>(people.class));
        return peoples;

    } catch (DataAccessException e) {

    }catch(NullPointerException nullPointer) {

    }
    return null;
}

【问题讨论】:

  • 您遇到了什么错误?
  • 你得到空值,因为有一些异常,买你隐藏它,在控制台/日志中看不到任何东西。你有两个 catch 块,它们是空的。添加 printStacktrace() 你会明白为什么你会得到 null
  • @avisheks 它没有显示任何错误只是它返回 null
  • @sbjavateam 好吧我试试

标签: mysql sql spring-data spring-jdbc jdbctemplate


【解决方案1】:

使用

select * from people where peopleName like ?

而不是

select * from people where peopleName like '?'

不要在占位符值前后使用“'”值? .它总是像这样搜索人名?不符合你的价值

【讨论】:

    【解决方案2】:

    请检查数据源是否正确实例化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-25
      • 2021-09-21
      • 2012-08-19
      • 2015-12-15
      • 2020-01-17
      相关资源
      最近更新 更多