什么是占位符
占位符就是在sql语句中用 ? 代替 变量,如下sql1==sql2
String sql1 = "update dada_table set name='"+name+ "',sex='" + sex+"' where id = '"+id+"'";
String sql2 = "update dada_table set name=?,sex=? where id = ?;";
具体写法如下:
// 3.获取向数据库发送sql语句的对象
System.out.println("请输入信息 id 名字 性别");
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
String name = sc.next();
String sex = sc.next();
//String sql = "update dada_table set name='"+name+ "',sex='" + sex+"' where id = '"+id+"'";
String sql = "update dada_table set name=?,sex=? where id = ?;";
PreparedStatement ps = connection.prepareStatement(sql);
//处理占位符
ps.setString(1,name);//表示第一个?为name
ps.setString(2, sex);//表示第二个问号为sex
ps.setInt(3, id);//表示第三个问号为id
// 4.向数据库发送sql语句
int in = ps.executeUpdate();//处理占位符时已经发送,无需在括号写sql