那个文号表示通配符,是占位的作用,因为谁也不知道查什么
有几个问号(通配符)就对应几个ps.set...
然后替换通配符进行查找。。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class JDbc {
public static void main(String[] args) {
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");//加载Driver类
connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test02?useUnicode=true&characterEncoding=UTF-8","root","root");//链接数据库
//查询不到中文字加入useUnicode=true&characterEncoding=UTF-8
String string = "select * from tb_peo where name = ? ";//满足两个条件之一
PreparedStatement preparedStatement = (PreparedStatement) connection.prepareStatement(string);
preparedStatement.setString(1, "郭");//name = "郭"的用户
//preparedStatement.setInt(2, 2);//id = 2 的用户
ResultSet resultSet = preparedStatement.executeQuery();
System.out.println("id"+"\t"+"name\tbirthday");
while(resultSet.next()){
System.out.println(resultSet.getInt(1)+"\t"+resultSet.getString("name")+"\t"+resultSet.getString("birthday"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}