使用mybatis查詢遇到的問題: Incorrect column count: expected 1, actual 10


做spring boot 時使用mybatis遇到查詢出問題

問題代碼如下

    @Override
    @GetMapping("/{id}")
    public String getUser(@PathVariable Integer id) {
        
        String sql = "SELECT * FROM `users` WHERE u_id = ? ";

        System.out.println("-------------------------\n\n");
        String data = JdbcTemplate.queryForObject(sql,new Object[]{id},String.class);
        System.out.println(data);
        System.out.println("-------------------------\n\n");

        return data;
    }

進行查詢時出現異常:Incorrect column count: expected 1, actual 10 

 

網上查詢很多答案都說是類型的錯誤,但是我的沒有問題

String data = JdbcTemplate.queryForObject(sql,new Object[]{id},String.class);

 

后來發現是返回數據和我接受的數據類型不對,查詢時是直接查詢 select * from users where ... 返回的數據為多列

 

 

 不會返回時序列化為String,所以修改為

    @Autowired
    JdbcTemplate JdbcTemplate;

    @Override
    @GetMapping("/{id}")
    public String getUser(@PathVariable Integer id) {
        /**
         * SELECT * FROM `users` WHERE u_id = ?
         * Incorrect column count: expected 1, actual 10 查詢結果為 10 個,所以異常
         *
         */
        String sql = "SELECT nickename FROM `users` WHERE u_id = ? ";

        System.out.println("-------------------------\n\n");
        String data = JdbcTemplate.queryForObject(sql,new Object[]{id},String.class);
        System.out.println(data);
        System.out.println("-------------------------\n\n");

        return data;
    }

 

 

以此為戒,再接再厲

其他資料:https://www.cnblogs.com/xxt19970908/p/5223755.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM