Java代码错误分析及修复:Incorrect integer value: '男' for column 'age' at row 1
代码分析及修复:Incorrect integer value: '男' for column 'age' at row 1
原始代码:
public static void main(String[] args) throws Exception {
StudentDAOImpl sdao = new StudentDAOImpl();
//添加学生
Students s = new Students();
s.setStuNo(UUID.randomUUID().toString());
s.setName('韦汉臣');
s.setAge('男');
s.setGender('男');
s.setBirth('1992-12-15');
Clazz c = new Clazz();
c.setId(1);
s.setCid(c);
boolean flag = sdao.addStudent(s);
System.out.println(flag);
}
错误信息:
Incorrect integer value: '男' for column 'age' at row 1
原因分析:
这段代码试图将字符串'男'赋值给数据库中age列,而age列的数据类型是整数类型。由于数据类型不匹配,导致错误。
解决方案:
将学生的年龄改为整数类型,并将字符串'男'改为整数。
修改后的代码:
public static void main(String[] args) throws Exception {
StudentDAOImpl sdao = new StudentDAOImpl();
//添加学生
Students s = new Students();
s.setStuNo(UUID.randomUUID().toString());
s.setName('韦汉臣');
s.setAge(30); // 修改年龄为整数类型
s.setGender('男');
s.setBirth('1992-12-15');
Clazz c = new Clazz();
c.setId(1);
s.setCid(c);
boolean flag = sdao.addStudent(s);
System.out.println(flag);
}
总结:
在进行数据库操作时,要特别注意数据类型的一致性,避免将错误类型的数据插入到数据库中。
原文地址: https://www.cveoy.top/t/topic/qlvh 著作权归作者所有。请勿转载和采集!