JDBC数据库查询的代码怎么使用之前输入的字符?

import java.sql.*;
import javax.swing.*;
public class stmt {

public static void main(String[] args) {
    String s;
    s=JOptionPane.showInputDialog("请输入s:");
    //这里的输入的s我希望在下面的SQL查询语句用到
        select();
    }
static void select(){
    Connection Conn = DBUtil.open();
    String sql = "SELECT * FROM person where Deptno='s'";
    //Deptno='s' 的s我希望是上面输入的值
    try {
        Statement stmt = Conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        while(rs.next()){
          String Pno=rs.getString("Pno");
          System.out.println(Pno);}
    } catch (SQLException e) {
        e.printStackTrace();
    }finally{
        DBUtil.close(Conn);
    }

}

问题写在注释里了,求大神帮忙!
public static void main(String[] args) {
    String s;
    s=JOptionPane.showInputDialog("请输入s:");
    //这里的输入的s我希望在下面的SQL查询语句用到
        select(s);
    }
static void select(String s){
    Connection Conn = DBUtil.open();
    String sql = "SELECT * FROM person where Deptno='"+s+"'";
    //Deptno='s' 的s我希望是上面输入的值
    try {
        Statement stmt = Conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        while(rs.next()){
          String Pno=rs.getString("Pno");
          System.out.println(Pno);}
    } catch (SQLException e) {
        e.printStackTrace();
    }finally{
        DBUtil.close(Conn);
    }

}


sql语句中使用变量参数,可以使用PreparedStatement,参数先用?代替,然后再设置参数。例如:
String sql = "SELECT * FROM person where Deptno=?";
PreparedStatement pstmt = Conn.prepareStatement(sql);
//下面的1代表第一个参数位置,从1开始;s代表你要传入的参数
pstmt.setString(1,s);
//执行查询即可
ResultSet rs = pstmt.executeQuery();

select方法加一个参数就行了啊。实例代码:

 static void select(String deptNo){
 }