maven java项目 配置双数据库(多数据库配置)

本文详细介绍了如何在Spring Boot项目中通过MyBatis配置两个不同数据库(如HANA和MySQL),包括依赖导入、文件结构、实体类、mapper文件编写及数据库配置,适合多数据库应用开发者参考。

前言

为什么要配置双数据库或者多数据库。
当你需要从两个或多个数据库进行获取数据库表的数据或者插入数据,每个数据库的数据库驱动(driver),url路径,用户名(username)、密码(password)都不一样,如果按照单数据库的配置你只能获取一个数据库的内容。

说明

按照我的这个方法,是纯java类的项目(有涉及到maven)的情况下进行配置的

如何配置

第一步 导入Pom.xml依赖

<!--       创建数据库xml配置文件需要的包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>

<!-- 	根据数据库类型进行导对应的驱动包,该包为hana数据库的-->
        <dependency>
            <groupId>com.sap.cloud.db.jdbc</groupId>
            <artifactId>ngdbc</artifactId>
            <version>2.7.15</version>
        </dependency>

<!--	该包为mysql数据库的-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>      
如遇到标红的地方,百度搜索对应的变红的代码寻找依赖导入即可,这里只给出
最主要的依赖,并不代表这些就一定够用

第二步 创建对应的项目名称

以我的项目进行说明:
api: 进行功能实现
mapper: 写数据库实现方法
model: 实体类
utils: 工具类
resource: 进行资源配置,最主要的配置双数据库就是在这里进行,如果想配置多个数据库依次往上增加即可
在这里插入图片描述
以我的为例:
在resource文件夹里创建一个mapper文件夹
在mapper文件夹里创建两个数据库增删改查的mapper文件。

在resource下创建两个数据库配置文件


结构如下:
–resource
-----mapper
---------------mapper_hana.xml
---------------mapper_sql.xml

–mapper-config-hana.xml

–mapper-config-sql.xml


第三步 编写mapper增删改查文件

其中。mapper_hana.xml和mapper_sql.xml文件代码如下:

mapper_hana.xml代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.db1.AssistantMapper_hana">

<!--    查找发送人员-->
    <select id="findSendUser" resultType="com.model.AssistantEngineer">

    </select>

</mapper>
其中,namespace为映射的数据库增删改查实现路径,
<select id="" resultType=""></select>
<select></select>代表数据库的查询
id为标识的查找的对应的内容 
resultType为映射的实体类
更具体的说明,请去学习springboot相关知识

mapper_sql.xml代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.db2.AssistantMapper_sql">

<!--    查找发送人员-->
    <select id="findSendUser" resultType="com.model.AssistantEngineer">

    </select>

</mapper>
其中,namespace为映射的数据库增删改查实现路径,
<select id="" resultType=""></select>
<select></select>代表数据库的查询
id为标识的查找的对应的内容 
resultType为映射的实体类
更具体的说明,请去学习springboot相关知识

第四步 编写数据库配置文件

mapper-config-hana.xml代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <typeAliases>
        <package name="com.model"/>
    </typeAliases>

    <environments default="development">
        <environment id="hr">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.sap.db.jdbc.Driver"/>
                <property name="url" value="url值"/>
                <property name="username" value="用户名"/>
                <property name="password" value="密码"/>
            </dataSource>
        </environment>

    </environments>
    <mappers>
        <mapper resource="mapper/AssistantMapper_hana.xml"/>
    </mappers>
</configuration>
其中,<TypeAliases>为映射的实体类
<dataSource>为配置的数据库
<mapper resource/>为映射的数据库增删改查文件
mapper-config-sql.xml代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <typeAliases>
        <package name="com.model"/>
    </typeAliases>

    <environments default="development">
        <environment id="mes">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="url值"/>
                <property name="username" value="用户名"/>
                <property name="password" value="密码"/>
            </dataSource>
        </environment>

    </environments>
    <mappers>
        <mapper resource="mapper/AssistantMapper_sql.xml"/>
    </mappers>
</configuration>
其中,<TypeAliases>为映射的实体类
<dataSource>为配置的数据库
<mapper resource/>为映射的数据库增删改查文件

第五步 创建实体类

我的项目里以model文件夹作为存放实体类的路径

结构如下:
在这里插入图片描述
其中。里面的AssistantEngineer.java内容为对应数据库字段的实体。
代码例子如下:

@Data
public class AssistantEngineer {
    private String name;
    private int age;
}

其中,@Data注解需要导入lombok,这里主要讲解如何进行配置双数据库,所以进行省略

第六步 编写数据库增删改查实现

以mapper作为实现,我的项目结构如下(只要映射的路径对应,无论怎么创建皆可)
在这里插入图片描述
其中,AssistantMapper_hana代码如下:

public interface AssistantMapper_hana {
// 根据查询为多个进行使用List<>
// 否则可 AssistantEngineer findSendUser();
    List<AssistantEngineer> findSendUser();
}

总结

以上为配置多数据库的具体方式,欢迎借鉴
同时我也写了一个poi获取数据库表数据写入到excel的功能代码,
在里面有具体的双数据库实现
链接: poi获取数据库表数据写入到excel.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值