天天看點

Java--JDBC占位符的使用

什麼是占位符

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