JdbcTemplate (select * from xx where id = ?)

来源:互联网 发布:监控拓扑图软件 编辑:程序博客网 时间:2024/05/05 00:28

public ArrayList getByPrimaryKey() throws Exception
 {
  final ArrayList info = new ArrayList();
  //final PackMap packmap = new PackMap();
  
  if(packMap == null || tableName == null)
         throw new NullPointerException(this.CLASS_PATH_NAME+
           ".getByPrimaryKey() ->/nhandset or tableName is Null..."); 
  
  try
        {  
            StringBuffer sqlStr = addKeyConstraintsToSql(packMap,DaoUtils.getSelectSqlFront(tableName));
               
            log.info("sql String () SQL -> "+sqlStr.toString()+packMap.getTypeName());
           
            jdbcTemplate.query(sqlStr.toString(),
              new PreparedStatementSetter()
            {
           public void setValues(PreparedStatement pstmt) throws SQLException
              {      
            setPrepStmt(pstmt,packMap);     
              }
            },
            new RowCallbackHandler()
            {
             public void processRow(ResultSet rs)throws SQLException
             {           
               PackMap packMap = new PackMap();     
               packMap.setPack(rs.getString("Package"));
               packMap.setTypeName(rs.getString("Type"));
               info.add(packMap);
              }
             }           
      );
            //log.info("int out handset size() : " + info.size());
         }catch(Exception e){
                log.error("getByPrimaryKey() ->"+e);
                throw new Exception(this.CLASS_PATH_NAME+"getByPrimaryKey() error-->"+e);
         }
         if(info == null || info.size() == 0){         
          return null;
          }
         else
         if(info.size() > 0)
          return info;
         else
          throw new Exception(this.CLASS_PATH_NAME+".getByPrimaryKey() error -> One key but more than two result");
 } 

 private StringBuffer addKeyConstraintsToSql(PackMap obj,StringBuffer buffer)
 {
     StringBuffer tempBuffer = new StringBuffer();
     tempBuffer = DaoUtils.addStringConstraint(type,obj.getTypeName(), tempBuffer);   
     buffer = DaoUtils.addWhereClauseStatement(tempBuffer, buffer);
     return buffer;
 }  
 

 private void setPrepStmt(PreparedStatement pstmt, PackMap obj) throws SQLException
 { 
  int i = 1;
  if(obj.getPack()!= null)
  {
   pstmt.setString(i++, obj.getPack().trim());
  }
  if(obj.getTypeName()!= null)
  {
   pstmt.setString(i++,obj.getTypeName());
  }
 }
 

原创粉丝点击