Bu Sayfayı Paylaş:

Veri

JBoss 7 İle MySQL Bağlantısının Kurulması

JBoss 7 üzerinde çalışan bir web projesinden MySQL'e bağlanmak için aşağıdakileri yapmak gerekmektedir :

MySQL Sürücüsün Module Olarak Eklenmesi

MySQL sürücüsü (örneğin mysql-connector-java-5.1.15.jar) aşağıdaki klasöre eklenmelidir :
jboss path\modules\com\mysql\main
Aynı klasöre module.xml adında aşağıdaki içeriğe sahip bir XML dosyası eklenmelidir :
<!--?xml version="1.0" encoding="UTF-8"?-->
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
  <resources>
    <resource-root path="mysql-connector-java-5.1.15.jar"></resource-root>
  </resources>
  <dependencies>
    <module name="javax.api"></module>
  </dependencies>
</module>

MySQL Driver'ı Konfügürasyona Eklenmesi

MySQL sürücü konfigurasyon dosyasına eklenmelidir. standalone için konfigurasyon dosyasının path'i :
 
jboss path\standalone\configuration\standalone.xml
şeklindedir. Bu XML dosyadaki drivers elementinin içinde aşağıdaki gibi driver tanımı eklenir :
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
module="com.mysql" içinde geçen com.mysql ismi , module.xml içinde geçen isimle aynısıdır

header:/Veritabanı İçin DataSource Tanımı Eklenmesi

Veritabanına bağlanmak için veritabanı için bir DataSource yaratabilirsiniz. Bunun için DataSource tanımı standalone.xml içindeki datasources elementi içinde eklenmelidir.
<datasource jndi-name="java:jboss/datasources/testdb" pool-name="testdb" enabled="true" jta="true" use-java-context="true" use-ccm="true">
	<connection-url>jdbc:mysql://ip:port/testdb</connection-url>
	<driver>com.mysql</driver>
	<pool>
		<min-pool-size>1</min-pool-size>
		<max-pool-size>10</max-pool-size>
	</pool>
	<security>
		<user-name>root</user-name>
		<password>XXX</password>
	</security>
</datasource>
Yukarıda testdb, ip , port , şifre bölümlerine uygun değerleri girmeniz gerekir

Yukarıdaki tanımlamalar yapıldıktan sonra aşağıdaki gibi bağlantı yapabilirsiniz :
String dataSourceJndiName="java:jboss/datasources/testdb";
Context initialContext=new InitialContext();
DataSource dataSource=(DataSource)initialContext.lookup(dataSourceJndiName);
Connection connection = dataSource.getConnection();
// Connection alindi

İpucu

Java'da MySQL Alias İsimleri İle Sütun Değerlerinin Alınabilmesi İçin useOldAliasMetadataBehavior Özelliğini Kullabilirsiniz

MySQL'de JDBC ile alias içeren bir select sorgusunda normal durumda alias ismini vererek sütun değerinin ResultSet'ten alamazsınız. Alias değerlerine göre sütun değerlerini almak için JDBC url'inin sonuna useOldAliasMetadataBehavior özelliğini eklemeniz gerekir. Örneğin aşağıda bir URL görülmektedir :
jdbc:mysql://127.0.0.1:3306/testDB?useOldAliasMetadataBehavior=true
URL yukarıdaki gibi tanımlanırsa select içinde tanımladığınız alias isimlerine göre sütun değerlerini alabilirsiniz :
Örnek select sorgusu :
select id, name as alias_adi from X;
Bu sütunun değerini javada aşağıdaki gibi alabilirsiniz:
ResultSet rs=...
if(rs.next()){
  String v=rs.get("alias_adi");
}

Materyal

MySQL Kurulum

Bu videoda MySQL veritabanın kurulumu, MySQL'e bağlanma gibi konular anlatılmaktadıe
bu video 4 DVD'lik Java Göstermeli Öğretim Kümesi görüntülü eğitim setindeki videoların demosudur



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir