执行一个sql
SELECT id FROM person WHERE name= :name AND sex= :sex在java中 怎样给这个sql传递这两个参数?我知道有一个解决方法是把参数换成“?”,然后用PreparedStatement 进行参数传递。除了这个还有没有别的方法,因为如果参数过多,用“?”感觉不太直观。

解决方案 »

  1.   

    都是用?传参的,你想用什么
       String st="{call MyProc(?,?,?)}";
       callsta=con.prepareCall(st);
       callsta.setInt(1,10248);
       callsta.registerOutParameter(2,Types.VARCHAR);
       callsta.registerOutParameter(3,Types.INTEGER);
      

  2.   


    如果是几十个参数,那么就要用几十个?,需要仔细对照?的下标索引。
    如果能有像map 键值对那样传参的方法,就不需要在意下标或者顺序了。
      

  3.   

    几十个参数?几十个参数你可以用自定义record 对象啊
      

  4.   

    Java里有数组传参,但是没有用过,
    我觉得还是问号?好,直观明了