30 Eylül 2016 Cuma

Stopwatch Sınıfı

createStarted metodu
Şöyle yaparız.
Stopwatch stopwatch = Stopwatch.createStarted();
stop metodu
Şöyle yaparız.
stopwatch.stop ();

long totalWorkTimeMillis = stopwatch.elapsedMillis ();


28 Eylül 2016 Çarşamba

Response Sınıfı

readEntity metodu
Şöyle yaparız.
Response response = ...;
String result = response.readEntity(String.class);

Invocation.Builder Arayüzü

post metodu
Şöyle yaparız.
Foo foo = new Foo();
user.setUserName("euler");
user.setPassword("password");
Response response = invocation.builder. .post(Entity.json(foo));


WebTarget Arayüzü

request metodu
Şöyle yaparız.
Invocation.Builder builder = webTarget.request(MediaType.APPLICATION_JSON);

Client Arayüzü

target metodu
Şöyle yaparız.
Client client = ...;
WebTarget target = client.target("http://localhost:8080/ldap/webapi/Auth");



ClientBuilder Sınıfı

newClient
Şöyle yaparız.
Client client = ClientBuilder.newClient ();


27 Eylül 2016 Salı

NamedNodeMap Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.w3c.dom.NamedNodeMap;
getLength metodu
Şöyle yaparız.
NamedNodeMap attributes = ...;

for (int i = 0; i < attributes.getLength(); i++) {
  Node attribute = attributes.item(i);
  if (attribute.getNodeName() == "id") {
    String x = attribute.getNodeValue();
  }  
}

Element Sınıfı

Giriş
Node sınıfından kalıtır. Node'ları dolaşırken Element olduğu şöyle anlaşılır.
Node nNode = nList.item(index);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
  Element eElement = (Element) nNode;
  ...
}
getAttribute metodu
Şöyle yaparız.
Element element = ...;
String attribute = element.getAttribute("isNull");
Şöyle bir element için 85 döner. Attribute yoksa "" yani boş string döner.
<marks isNull= "85" />
getTextContent metodu
Şöyle yaparız.
Element element = ...;
String text = element.getTextContent();
Şöyle bir element için 95 döner.
<marks>95</marks>

Marshaller Sınıfı

constructor
Şöyle yaparız.
JAXBContext context = ...;
Marshaller marshaller = context.createMarshaller();
marshall metodu - DOMResult
Şöyle yaparız.
DOMResult result = new DOMResult();marshaller.marshal(foo, result);
return ((Document)res.getNode()).getDocumentElement();
DOMResult nesnesini Document nesnesine çevirmek için şöyle yaparız.
Document document = (Document)result.getNode();
marshall metodu - File
Şöyle yaparız.
File file = new File("test.xml");
marshaller.marshal(foo, file);
marshall metodu - Writer
Şöyle yaparız.
StringWriter writer = new StringWriter();
marshaller.marshal(foo, writer);
setProperty metodu
Şöyle yaparız.
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

KeyStore.PrivateKey Sınıfı

getPrivateKey metodu
Şöyle yaparız.
KeyStore.PrivateKeyEntry privateKey = ...;
PrivateKey pkey = privateKey.getPrivateKey());
PrivateKey Cipher nesnesine geçilir.
Cipher cipher = Cipher.getInstance("...");
cipher.init(Cipher.DECRYPT_MODE, pkey);

24 Eylül 2016 Cumartesi

CallableStatement Sınıfı

Giriş
Stored Procedure çağırmak için kullanılır.

constructor
Şöyle yaparız.
String storedProc = "{call show_data(?,?)}";
Connection conn = ...;
CallableStatement cst = con.prepareCall(storedProc);
Elimizde iki tane parametre alan stored procedure olduğunu varsaydım. Bu yüzden iki tane soru işareti karakteri var.
CREATE PROCEDURE show_data(IN FULLNAME VARCHAR(50), IN ADDRESS VARCHAR(50))
PARAMETER STYLE JAVA
LANGUAGE JAVA
READS SQL DATA
EXTERNAL NAME 'Frame.searchButton'
BEGIN

INSERT INTO SAMPLEONLY("FULLNAME", "ADDRESS") 
  VALUES (FULLNAME , ADDRESS);  

  COMMIT;

END;
execute metodu
Select yapan stored procedure çağrısını işletir. Şöyle yaparız.
cst.execute();
executeUpdate metodu
Veritabanına güncelleme yapan (insert,update) stored procedure metodunu işletir.
// execute store procedure
cst .executeUpdate(); 
getArray metodu
Şöyle yaparız.
cs.registerOutParameter (4, OracleTypes.ARRAY,"NUMBER_TAB_TYPE");
...
cs.execute();
java.sql.Array arr = cs.getArray (4);
İçindeki nesneleri Java nesnelerine çevirmek için şöyle yaparız.
BigDecimal[] projDetailsId = (BigDecimal[])arr.getArray();
registerOutParameter metodu
Şöyle yaparız.
cts.registerOutParameter(2, Types.INTEGER);
Sonucu şöyle alırız.
int result = cts.getInt(2);
Şöyle yaparız.
cst.registerOutParameter(2, Types.VARCHAR);
Şöyle yaparız.
cst.registerOutParameter(2, java.sql.Types.ARRAY);
Sonucu getArray () ile alırız.

setArray metodu
Şöyle yaparız.
cst.setArray(1,...);
setInt metodu
Şöyle yaparız.
int Id = ...;
cst.setInt(1, Id);
setString metodu
Şöyle yaparız.
String username = ...;
cst.setString(3, username);



23 Eylül 2016 Cuma

ResultSet Sınıfı

Giriş
Bu sınıfı kullanmak için şu satırı dahil ederiz.
import java.sql.ResultSet;
Bu sınıf using ile kullanılmalı. Şöyle yaparız.
try (Connection con = DriverManager.getConnection("...")) {
  String sql = "select * from ...";
  try (PreparedStatement stmt = con.prepareStatement(sql)) {
    stmt.setInt(1, ...);
    stmt.setString(2, ...);
    try (ResultSet rs = stmt.executeQuery()) {
      while (rs.next()) {
        ...
      }
    }
  }
}
constructor
Select cümlesi ile yaratılabilir.
ResultSet resultSet = statement.executeQuery("select ...);
Bir Statement aynı and tek bir ResultSet döndürebilir. İkinci bir select ilk ResultSet'i kapatır.
String sql = "SELECT * FROM test";
ResultSet resultSet1 = stmt.executeQuery(sql);
ResultSet resultSet2 = stmt.executeQuery(sql);
Eğer resultSet1 nesnesini kullanmaya çalışırsak
while(resultSet.next()) {...}
"Operation not allowed after ResultSet closed" hatasını alırız.

absolute metodu
Belirtilen satır numarasına gider. Şöyle yaparız.
if(resultSet.absolute (1)){...}
close metodu
Şöyle yaparız.
resultSet.close ();
Nesnenin null olmadığını kontrol etmek iyi bir fikir olabilir çünkü sorgu boş ise nesne null gelebilir.
if (resultSet != null) { resultSet.close (); }
getBinaryStream metodu
Bu metod ile veritabanından BINARY, VARBINARY, LONGVARBINARY gibi JDBC tipine sahip sütunlar okunabilir. Ancak bu tür sütunların kullanıldığını görmedim. Bunlar yerine daha çok BLOB kullanılıyor. getBlob () yerine, stream tabanlı metodların kullanılmasının çok fazla veri çekerken daha iyi olabileceği yazılı. Şöyle yaparız.
InputStream is = rs.getBinaryStream (1);
...
is.close ();
getBlob metodu
ResultSet blob'a getBlob (index) veya getBlob ("ColumnName") şeklinde erişime izin verir. Şöyle yaparız.
Blob b= rs.getBlob (1);
byte byteArray[]= b.getBytes(0,(int)b.length()); 
FileOutputStream fout = new FileOutputStream("d:\\image.jpg");  
fout.write (byteArray);  
fout.close ();
getInt metodu
Şöyle yaparız.
int r = rs.getInt ("column1");
getLong metodu
Şöyle yaparız.
long r = rs.getLong ("column1");
getMetaData metodu
Select cümlesinden sonra kullanılabilir.
ResultSet resultSet = statement.executeQuery("Select * from TABLE_NAME");
ResultSetMetaData metaData = resultSet.getMetaData();
getString metodu
İsmi belirtilen sütunun değerini string olarak verir.
resultSet.getString ("column1");
getRow metodu
int döner. Satır numarasını verir. Şöyle yaparız.
resultSet.getRow ();
next metodu
Döngü içinde dolaşabilmemizi sağlar. Şöyle yaparız.
while (resultSet.next ()) {
  ...
}