亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡單的 jdbcTemplate.query() 應該返回一個列表,但不是

簡單的 jdbcTemplate.query() 應該返回一個列表,但不是

慕哥6287543 2022-01-06 19:56:24
我正在使用 spring 4.0(引導),這是代碼:        String sql = "SELECT emp_id,name,role FROM employees";        List<Employee> employees = jdbcTemplate.query(sql,(rs, rowNum)->         new Employee(rs.getInt("emp_id"), rs.getString("name"),                rs.getString("role")));                 employees.forEach(employee -> {log.info(employee.toString());            log.info("part a");});代碼看起來如此簡單明了,但問題是員工根本沒有在日志中返回任何內容。這不是意味著員工中的一切都是空的嗎?Logger 本身應該沒有問題,因為此代碼之前的日志記錄有效。數據庫被正確輸入。當我通過 mysql 客戶端查詢時,我可以在那里看到它們。我犯了什么樣的 Java 錯誤(如果有的話)?
查看完整描述

2 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

您可以使用另一種方式獲取員工列表:


private static final RowMapper<Employee> ROW_MAPPER = BeanPropertyRowMapper.newInstance(Employee.class);


String sql = "SELECT emp_id,name,role FROM employees";

List<Employee> employees = jdbcTemplate.query(sql, ROW_MAPPER);

或者


List<Employee> employees = jdbcTemplate.queryForList(sql, Employee.class);


查看完整回答
反對 回復 2022-01-06
?
森欄

TA貢獻1810條經驗 獲得超5個贊

原海報回答:

這是一個簡單的語法錯誤。正如評論員指出的那樣,我一直在插入錯誤的表……我在 sql 查詢中的語法是錯誤的。

以前,我插入到“員工”中,但我應該插入到“員工”中。

然而,返回包含 Map 的 List 的 queryForList() 仍然返回 null。我在上面的帖子中對此進行了評論。我不知道這有什么問題(我之前沒有嘗試過使用 List>)。但是問題解決了。


查看完整回答
反對 回復 2022-01-06
  • 2 回答
  • 0 關注
  • 530 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號