Tag Archive for 'Java'

java.util.Date, java.sql.Date dönüşümü

PreparedStatement yazıp elinizdeki java.util.Date formatındaki tarihinizi sorgulamak için java.sql.Date formatına çevirmek istediniz. Fazla kasmaya gerek yok, klasik yöntemlerimizi kullanıp işimize bakalım.

java.util.Date to java.sql.Date
Java
1
2
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

kod parçamızı kullanarak mutlu, mesut, çıldırmadan kod yazmaya devam ediyoruz.

Kaynak: java2s.com

Selçuk Üniversitesi – Android Semineri

Bugün saat 12.30 da Konya, Selçuk Üniversitesi’nde EMO adına Android semineri vereceğim. Seminerle ilgili fotoğraf, sunum notları ve konulara ait daha geniş anlatımları vakit buldukça buraya aktaracağım.

Herkeşe iyi geceler ;)

JSP içinde listenin boyutunu bastırmak – JSTL & Spring

Spring controller katmanından HashMap aracılığıyla ekranda göstermek istediğimiz verileri map’e atarken liste verip de daha sonra JSP sayfasında bu listenin size(boyut/büyüklük)’ını bastırmaya kalktınızsa eğer mutlaka hata almışsınızdır.
Controller’dan gelen şöyle bir map’imiz olsun;

map ornek
Java
1
2
3
4
Map map = new HashMap();
List ornekListe = null;
ornekListe = ornekDAO.getOrnekListe(arg1, arg2, ...);
map.put("listem", ornekListe);

yukarıda controller’da tanımladığımız listeyi JSP içinde;

ornek JSP sayfasi
XHTML
1
Liste boyutu: <c:out value="${listem.size}" />

dersek, böyle bir attribute olmadığında dair hata alırız. Bu listenin boyutuna iki şekilde ulaşıp ekrana bastırabiliriz.

  1.  map içine listenin boyutunu ekleriz. Bunun çok doğru bir çözüm olduğunu düşünmüyorum!(?)
  2. yöntem ise direkt JSP içerisinde JSTL taglerini kullanarak bu işi halledebiliriz. Nasıl mı? Cevap aşağıda;

Öncelikle JSP sayfamızın tepesine ilgili JSTL tagini kullanabilmek için ilgili taglibi ekliyoruz;

jstl-functions
XHTML
1
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

Bundan sonraki aşama ise;

liste boyutu
XHTML
1
Liste boyutu : <c:out value="${fn:length(listem)}" />

diyerek listemizin boyutuna ulaşmış oluyoruz.

Happy coding :p

java.math.BigDecimal ile dört işlem…

Yine bir ipucu ile karşı karşıyayız. Belki bu yazıyı okuyanlardan bunu bilenler vardır, asıl amaç zaten kendi öğrendiğim ve unutup da tekrar hatırladığım şeyleri buraya yazarak bilmeyenler veya benim gibi unutanlar için bir arşiv oluşturmak. Neyse lafı uzatmadan bugünki ipucumuz neymiş bir göz atalım.

Java’da eğer BigDecimal ile aritmetik işlemler yapmak istiyorsanız bunu Integer tipindeki veriler gibi yapamıyorsunuz; yani

Java
1
2
3
Integer a = new Integer(2);
Integer b = new Integer(5);
Integer c = null;

olsun a ve b’yi toplayıp sonucu da c’ye eşitlemek bildiğiniz gibi çok kolay:

Java
1
c = a+b;

Amma velakin baktık gördük ki

Java
1
java.math.BigDecimal

tipindeki değişkenlerde böyle olmuyormuş toplama işlemi veya diğer aritmetik işlemler. Onda ise şu şekilde yapabiliyormuşuz:

Java
1
2
3
4
5
6
7
BigDecimal a = new BigDecimal(&quot;5.25&quot;);
BigDecimal b = new BigDecimal(&quot;9.86&quot;);
BigDecimal c = null;
c = a.add(b); // a+b
c = a.subtract(b); // a-b
c = a.divide(b); // a/b
c = a.multiply(b); // a*b

BigDecimal ile dört işlemimiz yukarda görüldüğü gibi yapılıyor. Herkes bilir ama söylemekte yine fayda var; toplama ve çarpma işleminde farketmez ama çarpma ve bölme işlemlerinde sıralamalara dikkat etmek gerekli zira

Java
1
a.divide(b);

ile

Java
1
b.divide(a);

belli durumlar dışında aynı sonucu vermezler.

Herkese kolaylıklar…

java.sql.Date için şu anki tarihi almak…

Saçma sapan bi başlık oldu ama aklıma daha açıklayıcı bişey gelmedi, eğer daha sonra gelirse düzeltirim.

Hızlıca konuya giriş ve çıkış yapıp kaçıcam. Bugün, java.sql.Date formatında bu günün tarihini almaya çalıştım, epeydir Date fonksiyonlarıyla uğraşmadığım için unutmuşum. Ufak bir googleladıktan sonra buldum, tekrar unutursam diye de buraya yazıyorum. Belki başka unutanların işine de yarar.

Java
1
java.sql.Date now = new java.sql.Date(System.currentTimeMillis());

String’i Clob’a çevirmek

CLOB, IBM DB2 ve Oracle veritabanları ile kullanılabilen, genellikle uzun karakterleri ve yazıları tutmaya yarayan veri tipi diyebiliriz.

CLOB genellikle String veri tipinin tutamayacağı kadar büyüklükte olan verileri tutmak için kullanılır. CLOB, 2 giga karaktere kadar veri tutabilir(?). Veritabanındaki CLOB tipindeki kolonunuza String tipinde bir değer girmek isterseniz kodunuzda muhtemelen hata verecektir. Bu hatayı gidermek için String’i Clob’a çevirmeniz(casting) gerekmektedir. Eğer hibernate kullanıyorsanız şu tarz bir yaklaşım işinizi görecektir:

Java
1
Clob yeniDeger = new ClobImpl("Clob'a çevrilmek istenen String");

Bu yapıyı kullanabilmemiz için sayfanın en başına bunlarla ilgili olan importlarımızı yapmamız gerek:

Java
1
2
import java.sql.Clob;
import org.hibernate.lob.ClobImpl;

Bunları gerçekleştirdikten sonra veritabanı kayıt işlemlerimizi gerçekleştirebiliriz.

CETURK Java Teknolojileri Ankara Etkinliği (3 Ocak 2009 Cumartesi)

Bugüne kadar gerçekleştirdiği bir çok etkinlikle üyelerine ve bilişim sektörünün gelişmesine katkıda bulunan CETURK başkentimiz Ankara‘da yapacağı büyük bir organizasyon ile karşımızda.CETURK , 3 Ocak Cumartesi günü Çankaya Üniversitesi Mavi Salon’da “CETURK Java Teknolojileri Ankara Etkinliği” inde Java dünyasını bir araya getiriyor. Java dünyasındaki en son teknolojilerin ve gelişmelerin anlatılacağı etkinlikte Java dünyasının önemli isimleri , Çağatay Çivici, Kenan Sevindik, Melih Sakarya ve Ümit Vardar sunum yapacaklar.
Melih Sakarya JBoss Seam
Ümit Vardar JPA ve Hibernate
Kenan Sevindik     Spring Framework’e Giriş
Çağatay Çivici JSF 2.0
PANEL Java Dünyası ve Türkiye
Ayrıntılı bilgi ve kayıt için tıklayınız.

J2SE 1.5 – Tiger, yeni “for” döngüsü

Java 1.5′ten önce for döngüsünde, for’un nereden başlayacağını ne kadar süreyle(kaç kez) bu döngünün tekrarlanacağını ve döngü değişkeninin artışını belirtiyorduk. Örnek verecek olursak;

// arr dizisinin toplamını döndürür, Java 1.5 öncesi
int sum(int[] arr) {
    int result = 0;
    for (int i=0; i<arr.length; i++)
       result += i;
    return result;
}

Java 1.5 ile gelen yenilikle ise aynı for döngüsünü aşağıdaki gibi kurup daha sade ve kullanışlı bir şekilde kullanmak mümkün hale geldi:

// arr dizisinin toplamını döndürür, Java 1.5 ile gelen yenilik
int sum(int[] arr) {
    int result = 0;
    for (int i : arr)
       result += i;
    return result;
}