maven java项目 配置双数据库(多数据库配置)
前言
为什么要配置双数据库或者多数据库。
当你需要从两个或多个数据库进行获取数据库表的数据或者插入数据,每个数据库的数据库驱动(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 mapperPUBLIC "-//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 mapperPUBLIC "-//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 configurationPUBLIC "-//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 configurationPUBLIC "-//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.
maven java项目 配置双数据库(多数据库配置)相关推荐
- linux双显卡配置_Linux系统怎么配置双显卡?,linux配置显卡
Linux系统怎么配置双显卡?,linux配置显卡 感谢帮客之家网友鸢一雨音 的投稿 众所周知,自从高性能独立图形处理器出现之后,很多便携式计算机就会采取一种双显卡的设计:节能的核心图形处理器用于渲染 ...
- maven idea java_使用IntelliJ IDEA建立Maven java项目
Java开发,选择IntelliJ IDEA软件. 关于该软件的安装配置可以参考https://www.jianshu.com/p/935367fd0ad4 (1-4的内容). 本文章是在学习摸索过程 ...
- Java项目集成apollo,SpringBoot集成Apollo配置中心
准备工作 本文假设读者已经在本地部署Apollo配置中心,如还未部署可参考之前的文章 <Docker部署Apollo配置中心> 文章将引导在Docker中运行Apollo配置中心.在开始使 ...
- Jenkins实现SVN+Maven+Java项目的持续集成
Jenkins 2.46.1 Centos 7.3 JDK 7 安装jdk/maven/svn 在Jenkins所在的Linux机器安装jdk和maven,步骤就不说了,下面是环境变量: export ...
- 将已有项目转为se项目_如何将 Java 项目转换成 Maven 项目
本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...
- Java项目——云R记
Java入门级项目:云R记 视频地址 https://www.bilibili.com/video/BV1YU4y1p7wj?from=search&seid=1307576622141006 ...
- 数据库Java项目:在线租房出租房屋系统(java+springboot+maven+mysql)
数据库Java项目:在线租房出租房屋系统(java+springboot+maven+mysql) 主要实现了客户在线租房及房东发布出租等基本操作流程的全部功能,系统分普通用户.房东.管理员等角色,除 ...
- 基于java项目ssm二手书交易平台设计与实现(论文+程序设计源码+数据库文件)
1 绪论 4 1.1 项目开发背景 4 1.2 项目开发意义 5 1.3 项目主要的内容 5 2 相关技术介绍及系统环境开发条件 6 2.1相关技术介绍 6 2.2系统环境开发条件 7 3 系统的需求 ...
- 基于java的连连看游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目说明报告 基于Java的连连看游戏设计与实现 连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案.这款游戏操作简单(只需单击鼠标左键操作 ...
最新文章
- html中事件调用JavaScript函数时有return与没有return的区别
- 火星无人机同款技术全部公开!高通还特意给Plus了一下
- 基于网络抓包实现kubernetes中微服务的应用级监控
- 浏览器输入 URL 之后的链路
- springboot 启动分析【难点】——如何自动扫描 @SpringBootApplication||如何加载自动配置类 @EnableAutoConfiguration||如何加载前端控制器
- HTML5和CSS3不仅仅是两项新的Web技术标准
- RxSwift之深入解析map操作符的底层实现
- 雷林鹏分享:YAF 在Nginx环境下的Rewrite规则
- js利用tab键切换当前页面_JS实现的tab切换并显示相应内容模块功能示例
- Windows 通过 SecureCRT 8.x 上传文件到Linux服务器
- spring配置日志
- 思科路由器 DHCP配置
- Mac上如何重启或结束Finder进程?
- meta http-equiv(属性详解)
- jdbctemplate mysql blob_JdbcTemplate 操作Oracle Blob
- sas9.4安装教程
- c语言程序调试时无法启动程序,编译没有异常,调试时报错: 无法启动程序“C:Projects\Driver\mydriver_check\HelloDDk.sys...
- 单机类似节奏大师游戏源码
- AUTOCAD--动态缩放
- 知名清理工具或成恶意软件
热门文章
- 【CG物理模拟系列】弹性体模拟--Position-based法之Shape Matching(代码实现)
- 读书笔记 - 《富甲美国》
- 深入理解深度学习——Transformer:编码器(Encoder)部分
- 数据结构 || 图深度优先搜索遍历以及求两点间的简单路径
- mysql 更改建表语句_MySql:如何通过Sql语句创建表,更改表?,这几步你要了解...
- NAND Flash操作技术详解
- python 读取图片成为一维数组_OpenCV与Python之图像的读入与显示以及利用Numpy的图像转换...
- Tomcat浏览器地址栏图标
- jsp include中文乱码
- 为什么有的梦记得清楚,有的梦记不清楚?