繁体   English   中英

如何在 Spring MVC 中将 integer 方法转换为 boolean

[英]How to convert an integer method to boolean in Spring MVC

让我更好地解释一下。 我正在 Spring MVC 中创建一个 CRUD 项目; 当我对代码进行一些更改时,最初感兴趣的方法是 integer 类型。 我把代码放在下面让你更好地理解。

 public int delete(int studentId) { String sql = "delete from student1 where stu_id=?"; try { int counter = jdbcTemplate.update(sql, new Object[] { studentId }); return counter; } catch (Exception e) { e.printStackTrace(); return 0; } }

现在我必须将它创建为 boolean。 我试图通过以下方式做到这一点:

 public boolean delete(int studentId) { String sql = "delete from student1 where stu_id=?"; boolean status=false; try { status = jdbcTemplate.update(sql, new Object[] { studentId }); } catch (Exception e) { e.printStackTrace(); return status; } }

它只是给了我一个错误

jdbcTemplate.update (sql, new Object [] {studentId})

因为 jdbcTemplate.update 返回一个 integer。 我怎样才能改变这个? 谢谢你们

public boolean delete(int studentId) {
        String sql = "delete from student1 where stu_id=?";

        int status;

        try {

            status = jdbcTemplate.update(sql, new Object[] { studentId });

            
        } catch (Exception e) {
            e.printStackTrace();
        }

        return status != 0;
    }

这是最简单的方法。 “返回状态;= 0。” 我还将 return 语句移出 catch 块,以便该方法始终具有 return 语句。

You can not convert int to boolean directly but we can say that if the integer value is greater than equal to 1 set the boolean value as true, otherwise set boolean as false. 对于 int,任何非零值的计算结果为真,而零的计算结果为假。 此外jdbcTemplate.update()返回一个int而不是boolean值,如果查询成功则返回 1,否则返回 0。

你可以这样试试

public boolean delete(int studentId) {
        String sql = "delete from student1 where stu_id=?";

       
        boolean statusFlag = true;
        
        int status = 0;

        try {

            status = jdbcTemplate.update(sql, new Object[] { studentId });

            if(status >= 1 || status < 0){
                statusFlag = true;
            }
            else{
                statusFlag = false;
            }
            
            

        } catch (Exception e) {
            e.printStackTrace();
            
        }
        return statusFlag;
    }
}

或者更简单的方法

return status !=0;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM