分页技术(3)

  1.  
  2.     public PagedStatement(String sql){
  3.         this(sql,1,MAX_PAGE_SIZE);
  4.     }
  5.     
  6.     public PagedStatement(String sql, int pageNo){
  7.         this(sql, pageNo, Page.DEFAULT_PAGE_SIZE);
  8.     }
  9.     
  10.     public PagedStatement(String sql, int pageNo, int pageSize){
  11.         this.pageNo pageNo;
  12.         this.pageSize pageSize;
  13.         this.startIndex Page.getStartOfAnyPage(pageNo, pageSize);
  14.         this.boundParams Collections.synchronizedList(new java.util.LinkedList());
  15.         this.countSQL "select count(*) from " sql +") ";
  16.         this.querySQL intiQuerySQL(sql, this.startIndex, pageSize);
  17.     }
  18.     
  19.     protected abstract  String intiQuerySQL(String sql, int startIndex, int size);
  20.     
  21.     public void setObject(int index, Object obj) throws SQLException{
  22.         BoundParam bp new BoundParam(index, obj);
  23.         boundParams.remove(bp);
  24.         boundParams.add( bp);
  25.     }
  26.     
  27.     public void setObject(int index, Object obj, int targetSqlType) throws SQLException{
  28.         BoundParam bp new BoundParam(index, obj, targetSqlType);
  29.         boundParams.remove(bp);
  30.         boundParams.add(bp );
  31.     }
  32.     
  33.     public void setObject(int index, Object obj, int targetSqlType, int scale) throws SQLException{
  34.         BoundParam bp new BoundParam(index, obj, targetSqlType, scale) ;
  35.         boundParams.remove(bp);
  36.         boundParams.add(bp);
  37.     }
  38.     
  39.     public void setString(int index, String str)throws SQLException{
  40.         BoundParam bp new BoundParam(index, str)  ;
  41.         boundParams.remove(bp);
  42.         boundParams.add(bp);
  43.     }
  44.     
  45.     public void setTimestamp(int index, Timestamp timestamp)throws SQLException{
  46.         BoundParam bp new BoundParam(index, timestamp)  ;
  47.         boundParams.remove(bp);
  48.         boundParams.add( bp );
  49.     }
  50.     
  51.     public void setInt(int index, int value)throws SQLException{
  52.         BoundParam bp  new BoundParam(index, new Integer(value))  ;
  53.         boundParams.remove(bp);
  54.         boundParams.add( bp );
  55.     }
  56.     
  57.     public void setLong(int index, long value)throws SQLException{
  58.         BoundParam bp  new BoundParam(index, new Long(value))  ;
  59.         boundParams.remove(bp);
  60.         boundParams.add( bp );
  61.     }
  62.     
  63.     public void setDouble(int index, double value)throws SQLException{
  64.         BoundParam bp  new BoundParam(index, new Double(value))   ;
  65.         boundParams.remove(bp);
  66.         boundParams.add( bp);
  67.     }
  68.     
  69.     public void setBigDecimal(int index, BigDecimal bd)throws SQLException{
  70.         BoundParam bp   new BoundParam(index, bd   ;
  71.         boundParams.remove(bp);
  72.         boundParams.add( bp);
  73.     }
  74.     private  void setParams(PreparedStatement pst) throws SQLException{
  75.         if (pst==null || this.boundParams==null || this.boundParams.size()==0 return ;
  76.         BoundParam param;
  77.         for (Iterator itr this.boundParams.iterator();itr.hasNext();){
  78.             param (BoundParam) itr.next();
  79.             if  (param==nullcontinue;
  80.             if (param.sqlType == java.sql.Types.OTHER){
  81.                 pst.setObject(param.index, param.value);
  82.             }else{
  83.                 pst.setObject(param.index, param.value, param.sqlType, param.scale);
  84.             }
  85.         }
  86.     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值