Changeset 22 for trunk/fmgVen/src/net/fmg/ven/SorguUretici.java
- Timestamp:
- Jul 14, 2010, 10:51:10 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/fmgVen/src/net/fmg/ven/SorguUretici.java
r11 r22 3 3 * 4 4 * 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) 6 6 * 7 * Ven - Ayar Yerine Gelenek veritaban ý eriþim nesnesi7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 8 8 */ 9 9 … … 23 23 24 24 /** 25 * Belirtilen s ýnýfýn 'Ayar yerine gelenek' yaklaþýmýnda sorgusunu üretir25 * Belirtilen sınıfın 'Ayar yerine gelenek' yaklaşımında sorgusunu üretir 26 26 * @author Fatih Mehmet Güler 27 27 */ … … 50 50 PropertyDescriptor[] pdArr = wr.getPropertyDescriptors(); 51 51 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) 56 56 selectCumlesi.append(tabloAdi+"."+sutunAdi+" as "+tabloAdi+"_"+sutunAdi); //sütun 57 57 selectCumlesi.append(", "); 58 58 } 59 59 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ýn61 String bagTablosu = Cevir.vt(alanSinifi.getSimpleName());//gerçek ba ðtablosu60 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 62 62 fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 63 63 fromCumlesi.append(" on "+bagTablosuDigerAd+".no = "+tabloAdi+"."+sutunAdi+"_no"); … … 66 66 if (wr.getPropertyValue(alanAdi) instanceof SinifBildirenLinkedList && baglarKapsar(baglar,nesneYolu+"."+alanAdi)){ 67 67 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ýn69 String bagTablosu = Cevir.vt(cokluAlandakiNesneSinifi.getSimpleName());//gerçek ba ðtablosu70 String bagAlani = Cevir.vt((String)wr.getPropertyValue(alanAdi+".bagAlani")); //YAP: bunu vermeden de varsay ýlan birþey yapsýn68 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 71 71 fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 72 72 fromCumlesi.append(" on "+bagTablosuDigerAd+"."+bagAlani+"_no = "+tabloAdi+".no"); … … 99 99 tekrarlayanSorguUret(0,tabloAdi,nesneAdi,nesneSinifi,baglar,selectCumlesi,fromCumlesi); 100 100 selectCumlesi.append(" 1=1"); 101 //System.out.println("Sorgu üretme zaman ý="+(System.currentTimeMillis()-t1));101 //System.out.println("Sorgu üretme zamanı="+(System.currentTimeMillis()-t1)); 102 102 return selectCumlesi.toString()+" \n"+fromCumlesi.toString(); 103 103 } 104 104 105 105 /** 106 * Sql select sorgusu üretir, ancak alanlar ý almaz count(distinct tabloadi.no) alýr106 * Sql select sorgusu üretir, ancak alanları almaz count(distinct tabloadi.no) alır 107 107 */ 108 108 public String saymaSorgusuUret(Set baglar, Class nesneSinifi){ … … 113 113 StringBuffer fromCumlesi = new StringBuffer("from "+tabloAdi); 114 114 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)); 116 116 return "select count(distinct "+tabloAdi+".no) \n"+fromCumlesi.toString(); 117 117 } … … 133 133 StringBuffer degerler = new StringBuffer(" values("); 134 134 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 ýr139 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) 140 140 sorgu.append(sutunAdi); 141 141 sorgu.append(","); … … 159 159 sorgu = new StringBuffer("update "+tabloAdi+" set "); 160 160 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) 165 165 sorgu.append(sutunAdi+"=:"+alanAdi); 166 166 sorgu.append(",");
Note: See TracChangeset
for help on using the changeset viewer.