不执行前的代码
@Override
public int update(Student student) {
conn = DriverConn.getConn();
String sql = "UPDATE students set name = 'student.getName()',age = student.getAge() WHERE id = 'student.getId()'";
try{
pstmt = conn.prepareStatement(sql);
i = pstmt.executeUpdate();
System.out.println("resutl :" + i);
pstmt.close();
conn.close();
}catch(SQLException e){
e.getStackTrace();
}
System.out.println("调用了udpate方法");
return i;
}
修改以后的代码
public int update(Student student) {
conn = DriverConn.getConn();
String sql = "UPDATE students set name = '"+student.getName()+"',age = "+student.getAge()+" WHERE id = '"+student.getId()+"'";
try{
pstmt = conn.prepareStatement(sql);
i = pstmt.executeUpdate();
System.out.println("resutl :" + i);
pstmt.close();
conn.close();
}catch(SQLException e){
e.getStackTrace();
}
System.out.println("调用了udpate方法");
return i;
}
运行结果截图
如果要实现多个数据的修改
SQL语句中的变量必须加双引号
String sql = "UPDATE students set name = 'student.getName()',age = student.getAge() WHERE id = 'student.getId()'";
改成
String sql = "UPDATE students set name = '"+student.getName()+"',age = "+student.getAge()+" WHERE id = '"+student.getId()+"'";
第一个sql语句虽然可以在mysql中运行 带写在java代码中不能运行也不会报错