天天看点

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