Rumah > Java > javaTutorial > Bagaimana untuk menggunakan teknologi refleksi Java untuk menyambungkan pengaturcaraan berorientasikan objek dan operasi SQL?

Bagaimana untuk menggunakan teknologi refleksi Java untuk menyambungkan pengaturcaraan berorientasikan objek dan operasi SQL?

PHPz
Lepaskan: 2023-04-23 14:19:08
ke hadapan
982 orang telah melayarinya

Contoh kod:

kelas awam SqlUtil memanjangkan BaseApplogic {
   Senarai awam excuteQuery(String sql, Object[] paras, Object voo)
           melempar AppException {
    =   DBPersistent ini.   Senarai senarai =new ArrayList();
       cuba {
           DataSet ds = (DataSet) dbpm.dexecuteQuery(sql, paras);
           
      sata ds SetMetaData();
           
Medan[] fd = voo.getClass().getDeclaredFields();
           String className = voo.getClass().getName();
           int size = fd.length;    ] [Metoda]    ] Kaedah[saiz];
           //构造kaedah[]
           untuk (int i = 0; i < saiz; i++) {
             .= Atribut attr .toUpperCase());
               if (null != attr) {
                   Field f = voo.getClass().getDeclaredField(fd[i]. get     );        Jenis rentetan = f.getType ().getName();
                   Class[] types=getTypes(type);  
string methodName = getSetNtername (fd [i] .getName ()); md [i] = voo.getClass (). GetMethod (
methodName, types);
           
           while(ds.next()){
               Objek o = Class.forName(className).newInstance();
    ; size();
    ; ++) {
                   jika(null!=md[i]){
                       //调用
                tribute d[i].getName().toUpperCase());
                       if (null ==attr) teruskan;
                       Objek[] pa=objek baharu[]{ds.getString(attr.getAttrName())};
                       ] );           }
               }
               list.add(o);
           }
       } catch (DrmException drme) {
  🎜>       } tangkapan (Pengecualian e) {
           this.handleException(e);// 新增加的异常处理
       } akhirnya {
           jika (dbpm != null) {                                                                    🎜>           }
       }
       kembali senarai;

   }

   //由属性调用set方法
   public static String getSetterName(               + propName.substring(1, propName.length());

   }

   // 取类型  class       jika (type.equals("java.lang.String")) {
           kembali Kelas baharu[] { String.class };
       } jika (type.equals(" int")) {
           kembali Kelas baharu[] { Integer.TYPE };
       } jika tidak (type.equals("long") {
           kembali Kelas baharu[] { Long.TYPE };
} Lain jika (type.equals ("float") {
Return New class [] {float.type};
} else {
System.out.println ("No SUCH TYPE!") ;
                                                                                                                                                                                                                                                                                    ialah jenis objek yang akan dikembalikan.

Nilai pulangan ialah senarai dan setiap objek dalam senarai ialah jenis objek yang anda lalui.

Selepas pembungkusan sedemikian, SQL dan objek dikapsulkan secara semula jadi Tidak perlu mengetahui setiap pertanyaan, kemudian resultset.next(), kemudian getString(), dan kemudian setXxx();

Sudah tentu, ini hanyalah puncak gunung ais dalam penggunaan metadata dan teknologi pantulan objek Java.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan teknologi refleksi Java untuk menyambungkan pengaturcaraan berorientasikan objek dan operasi SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan