2 votes

Connexions Oracle dans Spring

J'utilise Oracle 9 JDBC Thin Driver - la chaîne de connexion que j'ai utilisée pour le JDBC standard était :

jdbcConn.connect("jdbc:oracle:thin:myDevDb/myDevDb@fooServer:1521:MYSIDNAME");

...j'essaie juste de comprendre comment utiliser ce type de connexion dans Spring 2.5.

Comment connecter Spring à une connexion Oracle ? Je pense que cela a quelque chose à voir avec un fichier XML conifg mais je ne suis pas sûr, il semble y avoir plusieurs façons de le faire.

Toute aide est la bienvenue...

DERNIÈRE ÉDITION

Merci à ceux qui ont répondu jusqu'à présent - mais j'ai besoin d'un petit coup de pouce - sur la partie où vous configurez la chaîne de connexion à la base de données dans votre configuration, où mettez-vous cette information, et comment ? J'ai une application web Java existante et j'essaie de comprendre comment intégrer Spring dans mon application existante.

8voto

cletus Points 276888

Il y a plusieurs façons de le faire et cela dépend de votre environnement. Si vous utilisez Spring, il y a de fortes chances que vous déployiez une application Web ou que vous soyez dans un environnement J2EE. Si c'est le cas (et même si ce n'est pas le cas), vous voulez probablement configurer une DataSource.

Il s'agit d'une solution assez minimale :

  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
  </bean>

Ce qui précède utilise la mise en commun des connexions à la base de données d'Apache (Jakarta Commons), mais votre serveur d'applications a probablement une alternative que vous pouvez utiliser à la place. En outre, les différents fournisseurs de bases de données ont également leurs propres implémentations de sources de données (par exemple OracleDataSource et OracleXADataSource pour Oracle).

Notez l'utilisation de propriétés comme jdbc.username. Il s'agit d'une configuration typique car les configurations des bases de données varient généralement d'un environnement à l'autre. Vous pouvez activer un configurateur de propriétés avec quelque chose comme :

<bean id="jdbcConfiguration" class="org.springframework.beans.factory.config.PropertiesPlaceholderConfigurer">
  <property name="location" value="classpath:jdbc.properties"/>
</bean>

Maintenant, vous voulez probablement des transactions aussi, j'imagine. Le moyen le plus simple est d'utiliser un gestionnaire de transactions de plate-forme mais, comme pour la plupart des choses de Spring, il existe de multiples façons de le faire.

<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource"/>
</bean>

Après cela, vous pouvez utiliser ce haricot directement ou (ce qui est sans doute plus courant) vous pouvez utiliser des transactions déclaratives avec AOP (annotations).

Plus d'informations sur ces sujets dans le (superbe) Documentation de référence de Spring .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X