Maison > Java > javaDidacticiel > le corps du texte

Comment configurer MyBatis pour se connecter à plusieurs bases de données

WBOY
Libérer: 2024-02-18 17:03:08
original
610 Les gens l'ont consulté

Comment configurer MyBatis pour se connecter à plusieurs bases de données

Comment configurer plusieurs connexions à des bases de données dans MyBatis

Introduction :
Dans le développement d'applications modernes, il est souvent nécessaire de connecter plusieurs bases de données pour répondre aux différents besoins de l'entreprise. En tant que framework de couche de persistance populaire, MyBatis peut facilement interagir avec plusieurs bases de données. Cet article explique comment configurer plusieurs connexions à la base de données dans MyBatis et fournit des exemples de code spécifiques.

Étape 1 : Introduire les dépendances pertinentes
Dans le fichier pom.xml du projet, ajoutez les dépendances de MyBatis et les pilotes de base de données. Par exemple, si vous utilisez une base de données Oracle, vous pouvez ajouter la dépendance suivante :

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.5</version>
</dependency>

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.8.0.0</version>
</dependency>
Copier après la connexion

Étape 2 : Configurer la source de données
Dans MyBatis, nous pouvons configurer la source de données de différentes manières, par exemple en utilisant JNDI, Spring, ou directement dans le fichier de configuration MyBatis Configurez la source de données.

Ce qui suit est une manière courante de configurer plusieurs connexions à la base de données dans la configuration MyBatis :

<!-- 数据源一 -->
<dataSource type="com.zaxxer.hikari.HikariDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:ORCL"/>
    <property name="username" value="user1"/>
    <property name="password" value="password1"/>
</dataSource>

<!-- 数据源二 -->
<dataSource type="com.zaxxer.hikari.HikariDataSource">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db2?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"/>
    <property name="username" value="user2"/>
    <property name="password" value="password2"/>
</dataSource>
Copier après la connexion

Dans l'exemple ci-dessus, nous avons configuré deux sources de données, une pour se connecter à la base de données Oracle et une pour se connecter à la base de données MySQL.

Étape 3 : Configurer la fabrique de sessions MyBatis
Dans le fichier de configuration MyBatis, nous devons configurer la fabrique de sessions (SqlSessionFactory) pour gérer les connexions et les sessions de la base de données. Plusieurs connexions à des bases de données peuvent être réalisées en utilisant plusieurs sources de données et plusieurs fabriques de connexions à des bases de données.

Ce qui suit est un exemple de configuration simple :

<!-- 数据源一的数据库连接工厂 -->
<bean id="sqlSessionFactory1" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource1"/>
</bean>

<!-- 数据源二的数据库连接工厂 -->
<bean id="sqlSessionFactory2" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource2"/>
</bean>

<!-- MyBatis会话工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="mapperLocations" value="classpath*:mapper/*.xml"/>
    <property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
Copier après la connexion

Dans l'exemple ci-dessus, nous avons configuré respectivement deux usines de connexion à la base de données (sqlSessionFactory1 et sqlSessionFactory2) et les avons référencées dans la fabrique de session MyBatis finale (sqlSessionFactory).

Étape 4 : Utiliser plusieurs connexions à la base de données dans l'interface Mapper
Lors de l'utilisation de plusieurs connexions à la base de données, nous devons spécifier quelle connexion à la base de données utiliser dans l'interface Mapper.

Ce qui suit est la définition d'un exemple d'interface Mapper :

public interface UserMapper {
    // 数据源一的查询
    @Mapper
    @DataSource("dataSource1")
    List<User> getUsersFromDataSource1();

    // 数据源二的查询
    @Mapper
    @DataSource("dataSource2")
    List<User> getUsersFromDataSource2();
}
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons l'annotation @DataSource pour spécifier une source de données spécifique. Par exemple, @DataSource("dataSource1") signifie utiliser la source de données une. pour requête.

Conclusion :
Avec les étapes ci-dessus, nous pouvons facilement configurer plusieurs connexions à la base de données dans MyBatis. Dans les applications réelles, plusieurs sources de données et usines de connexions de bases de données peuvent être configurées en fonction de besoins spécifiques pour répondre aux différents besoins de l'entreprise.

Dans le développement réel, la configuration de plusieurs connexions à des bases de données peut être plus complexe, par exemple en impliquant la gestion des transactions, le changement dynamique de source de données, etc. Il peut être configuré et ajusté davantage en fonction de la situation spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal