什麼是占位符
占位符就是在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