Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/fmgVen/src/net/fmg/ven/SorguUretici.java

    r11 r26  
    33 * 
    44 * Created on December 18, 2006, 9:32 AM 
    5  * (4.12.06 tarihli SpringDaoDeneme çalýþmasýndan derlenmiþtir) 
     5 * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) 
    66 * 
    7  * Ven - Ayar Yerine Gelenek veritabaný eriþim nesnesi 
     7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 
    88 */ 
    99 
     
    2323 
    2424/** 
    25  * Belirtilen sýnýfýn 'Ayar yerine gelenek' yaklaþýmýnda sorgusunu üretir 
     25 * Belirtilen sınıfın 'Ayar yerine gelenek' yaklaşımında sorgusunu üretir 
    2626 * @author Fatih Mehmet Güler 
    2727 */ 
     
    5050        PropertyDescriptor[] pdArr = wr.getPropertyDescriptors(); 
    5151        for (int i = 0; i < pdArr.length; i++) { 
    52             Class alanSinifi = pdArr[i].getPropertyType(); //alan sýnýfý 
    53             String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adý 
    54             String alanAdi = pdArr[i].getName(); //alan adý 
    55             if (vtSiniflari.contains(alanSinifi)){ //veritabaný direk alan (Integer,String,Date, vs) 
     52            Class alanSinifi = pdArr[i].getPropertyType(); //alan sınıfı 
     53            String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adı 
     54            String alanAdi = pdArr[i].getName(); //alan adı 
     55            if (vtSiniflari.contains(alanSinifi)){ //veritabanı direk alan (Integer,String,Date, vs) 
    5656                selectCumlesi.append(tabloAdi+"."+sutunAdi+" as "+tabloAdi+"_"+sutunAdi); //sütun 
    5757                selectCumlesi.append(", "); 
    5858            } 
    5959            if (alanSinifi.getPackage()!=null && nesnePaketleri.contains(alanSinifi.getPackage().getName()) && baglarKapsar(baglar,nesneYolu+"."+alanAdi)){ //domain nesnesi 1-1 join 
    60                 String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // bað tablosu için diðer ad, çünkü ayný isimde birden fazla bað olabilir, karýþmasýn 
    61                 String bagTablosu = Cevir.vt(alanSinifi.getSimpleName());//gerçek bað tablosu 
     60                String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // bağ tablosu için diğer ad, çünkü aynı isimde birden fazla bağ olabilir, karışmasın 
     61                String bagTablosu = Cevir.vt(Cevir.isim(alanSinifi.getName()));//gerçek bağ tablosu 
    6262                fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 
    6363                fromCumlesi.append(" on "+bagTablosuDigerAd+".no = "+tabloAdi+"."+sutunAdi+"_no"); 
     
    6666            if (wr.getPropertyValue(alanAdi) instanceof SinifBildirenLinkedList && baglarKapsar(baglar,nesneYolu+"."+alanAdi)){ 
    6767                Class cokluAlandakiNesneSinifi = (Class)wr.getPropertyValue(alanAdi+".nesneSinifi"); 
    68                 String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // bað tablosu için diðer ad, çünkü ayný isimde birden fazla bað olabilir, karýþmasýn 
    69                 String bagTablosu = Cevir.vt(cokluAlandakiNesneSinifi.getSimpleName());//gerçek bað tablosu 
    70                 String bagAlani = Cevir.vt((String)wr.getPropertyValue(alanAdi+".bagAlani")); //YAP: bunu vermeden de varsayýlan birþey yapsýn 
     68                String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // bağ tablosu için diğer ad, çünkü aynı isimde birden fazla bağ olabilir, karışmasın 
     69                String bagTablosu = Cevir.vt(Cevir.isim(cokluAlandakiNesneSinifi.getName()));//gerçek bağ tablosu 
     70                String bagAlani = Cevir.vt((String)wr.getPropertyValue(alanAdi+".bagAlani")); //YAP: bunu vermeden de varsayılan birşey yapsın 
    7171                fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 
    7272                fromCumlesi.append(" on "+bagTablosuDigerAd+"."+bagAlani+"_no = "+tabloAdi+".no"); 
     
    9393    public String secmeSorgusuUret(Set baglar, Class nesneSinifi){ 
    9494        //long t1 = System.currentTimeMillis(); 
    95         String nesneAdi = nesneSinifi.getSimpleName(); 
     95        String nesneAdi = Cevir.isim(nesneSinifi.getName()); 
    9696        String tabloAdi = Cevir.vt(nesneAdi); 
    9797        StringBuffer selectCumlesi = new StringBuffer("select "); 
     
    9999        tekrarlayanSorguUret(0,tabloAdi,nesneAdi,nesneSinifi,baglar,selectCumlesi,fromCumlesi); 
    100100        selectCumlesi.append(" 1=1"); 
    101         //System.out.println("Sorgu üretme zamaný="+(System.currentTimeMillis()-t1));         
     101        //System.out.println("Sorgu üretme zamanı="+(System.currentTimeMillis()-t1));         
    102102        return selectCumlesi.toString()+" \n"+fromCumlesi.toString(); 
    103103    } 
    104104     
    105105    /** 
    106      * Sql select sorgusu üretir, ancak alanlarý almaz count(distinct tabloadi.no) alýr 
     106     * Sql select sorgusu üretir, ancak alanları almaz count(distinct tabloadi.no) alır 
    107107     */ 
    108108    public String saymaSorgusuUret(Set baglar, Class nesneSinifi){ 
    109109        //long t1 = System.currentTimeMillis(); 
    110         String nesneAdi = nesneSinifi.getSimpleName(); 
     110        String nesneAdi = Cevir.isim(nesneSinifi.getName()); 
    111111        String tabloAdi = Cevir.vt(nesneAdi); 
    112112        StringBuffer selectCumlesi = new StringBuffer(); 
    113113        StringBuffer fromCumlesi = new StringBuffer("from "+tabloAdi); 
    114114        tekrarlayanSorguUret(0,tabloAdi,nesneAdi,nesneSinifi,baglar,selectCumlesi,fromCumlesi); 
    115         //System.out.println("Sorgu üretme zamaný="+(System.currentTimeMillis()-t1));         
     115        //System.out.println("Sorgu üretme zamanı="+(System.currentTimeMillis()-t1));         
    116116        return "select count(distinct "+tabloAdi+".no) \n"+fromCumlesi.toString(); 
    117117    } 
     
    123123    public String guncellemeSorgusuUret(Object nesne){ 
    124124        BeanWrapper wr = new BeanWrapperImpl(nesne); 
    125         String nesneAdi = nesne.getClass().getSimpleName(); 
     125        String nesneAdi = Cevir.isim(nesne.getClass().getName()); 
    126126        String tabloAdi = Cevir.vt(nesneAdi); 
    127127        StringBuffer sorgu; 
     
    133133            StringBuffer degerler = new StringBuffer(" values("); 
    134134            for (int i = 0; i < pdArr.length; i++) { 
    135                 Class alanSinifi = pdArr[i].getPropertyType(); //alan sýnýfý 
    136                 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adý 
    137                 String alanAdi = pdArr[i].getName(); //alan adý 
    138                 if (alanAdi.equals("no")) continue; //YAP: Belki squenci bozar, ama bozmuyosa kaldýr 
    139                 if (vtSiniflari.contains(alanSinifi)){ //veritabaný direk alan (Integer,String,Date, vs) 
     135                Class alanSinifi = pdArr[i].getPropertyType(); //alan sınıfı 
     136                String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adı 
     137                String alanAdi = pdArr[i].getName(); //alan adı 
     138                if (alanAdi.equals("no")) continue; //YAP: Belki squenci bozar, ama bozmuyosa kaldır 
     139                if (vtSiniflari.contains(alanSinifi)){ //veritabanı direk alan (Integer,String,Date, vs) 
    140140                    sorgu.append(sutunAdi); 
    141141                    sorgu.append(","); 
     
    159159            sorgu = new StringBuffer("update "+tabloAdi+" set "); 
    160160            for (int i = 0; i < pdArr.length; i++) { 
    161                 Class alanSinifi = pdArr[i].getPropertyType(); //alan sýnýfý 
    162                 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adý 
    163                 String alanAdi = pdArr[i].getName(); //alan adý 
    164                 if (vtSiniflari.contains(alanSinifi)){ //veritabaný direk alan (Integer,String,Date, vs) 
     161                Class alanSinifi = pdArr[i].getPropertyType(); //alan sınıfı 
     162                String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adı 
     163                String alanAdi = pdArr[i].getName(); //alan adı 
     164                if (vtSiniflari.contains(alanSinifi)){ //veritabanı direk alan (Integer,String,Date, vs) 
    165165                    sorgu.append(sutunAdi+"=:"+alanAdi); 
    166166                    sorgu.append(","); 
Note: See TracChangeset for help on using the changeset viewer.