首頁  >  文章  >  Java  >  如何利用Java反射技術將物件導向程式設計和SQL操作連結起來?

如何利用Java反射技術將物件導向程式設計和SQL操作連結起來?

PHPz
PHPz轉載
2023-04-23 14:19:08901瀏覽

實例程式碼:

public class SqlUtil extends BaseApplogic {
   public List excuteQuery(String sql, Object[] paras, Object voo)
               列表清單=new ArrayList();
       嘗試{
           DataSet ds = (DataSet) dbpm.executeQuery(sql, paras);#> getDataSetMetaData();
           
Field[] fd = voo.getClass().getDeclaredFields();
           String className = voo.getClass().getName();
      的    new Method[size];
           //構造method[]
           for (int i = 0; i aamp  () .toUpperCase());
               if (null != attr) {
                  Fal fgets(muled fget);               字串型別= f. getType ().getName();
                   Class[] types=getTypes(type);
                   String methodName=getSetterName(fd[i].getName());
            選擇                 methodName,types);
              }
           }
           
           while(ds.next()){
           for (int i = 0; i                    if(null!=md[i]){
                 bute attr=dsmd.getAttribute(fd[i].getName().toUpperCase());
                      如果(空格= =attr) continue;
                       Object[] pa=new Object[]{ds.getString(attr.getAttrName())};##   pa);
                   }
               }
               list.add(o);
          this.handleException(drme);
       } catch (Exception e) {
this.handleException(e);//新增的例外處理
       } finally {
           if (dbpm != null) {
  ##       }
       return list;

   }

   //由屬性呼叫set方法
   public static String getSetterName(String propName) {
     . ).toUpperCase()
                propName.substring(1, propName.length());

   }
卷) {
       if (type.equals("java.lang.String")) {
           return new Class[] { String.class };
       )) {
            return new Class[] { Integer.TYPE };
       } else if (type.equals("long) #} else if (type.equals("float")) {
           return new Class[] { Float.TYPE };
       } else {
  });
       } . ;
           return null;
       }

   }

}

其中excuteQuery方法傳入三個參數,而第一個是要查詢的sql語句,第二個要查詢的sql語句,第二個要查詢的sql語句,第二個要查詢是參數數組,第三個是要傳回的物件類型。

回傳值是一個list,list中的每個物件都是你傳入的物件類型。

經過這樣一種包裝,將sql與物件自然的封裝起來,不用每個查詢都查出來以後,再resultset.next(),再getString(),然後再setXxx();

當然,這只是元資料與java物件反射技術利用的冰山一角。 ###

以上是如何利用Java反射技術將物件導向程式設計和SQL操作連結起來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除