若依框架(前后端分离)——多数据源配置详细教程

此篇写的是对若依框架中的多数据源的配置教程,看了很多教程,很多都是写的较为模糊,以下是自己配置时的详细的步骤,大家可以根据这个例子去实现连接:

1. 在ruoyi-admin文件中的xml文件内配置数据库的信息。

文件路径
将账号和密码等服务器信息配置进去,1443是SQL server默认的服务器端口:
在这里插入图片描述

2.在DataSourceType枚举文件内增加自己配置的数据源。

在这里插入图片描述

3.在DruidConfig中增加数据源加载

@Configuration
public class DruidConfig
{
    @Bean
    @ConfigurationProperties("spring.datasource.druid.master")
    public DataSource masterDataSource(DruidProperties druidProperties)
    {
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        return druidProperties.dataSource(dataSource);
    }

    @Bean
    @ConfigurationProperties("spring.datasource.druid.slave")
    @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")
    public DataSource slaveDataSource(DruidProperties druidProperties)
    {
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        return druidProperties.dataSource(dataSource);
    }

    // 新增加新配置的数据源
    @Bean
    @ConfigurationProperties("spring.datasource.druid.selectmo")
    @ConditionalOnProperty(prefix = "spring.datasource.druid.selectmo", name = "enabled", havingValue = "true")
    public DataSource selectmoDataSource(DruidProperties druidProperties)
    {
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        return druidProperties.dataSource(dataSource);
    }

    @Bean(name = "dynamicDataSource")
    @Primary
    public DynamicDataSource dataSource(DataSource masterDataSource)
    {
        Map<Object, Object> targetDataSources = new HashMap<>();
        targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
        setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
        //将新的数据源对象加载到DataSource去
        setDataSource(targetDataSources, DataSourceType.SELECTMO.name(), "selectmoDataSource");
        return new DynamicDataSource(masterDataSource, targetDataSources);
    }

文件路径图片:配置处1——注意:框住了的即为需要注意并修改的地方
在这里插入图片描述
文件路径图片:配置处2
在这里插入图片描述

4.添加操作数据源的方法

在这里插入图片描述

5.在Controller中进行配置

 @GetMapping("/getmo")		// 调用的是get请求,/getmo是路由地址
    public String getMoInfo() {
        String[] moInfoArr = planScheduleService.selectMoInfo();
        System.out.println(moInfoArr.length);
		// 对数据进行操作
        return "hello";   // 将需要的数据进行返回
    }

在这里插入图片描述
planScheduleService是类名,selectMoInfo()则是在后面定义的

6. 在mapper中配置

@Select("SELECT * FROM XXX")		// 需要执行的SQL语句
public String[] selectMoInfo();		// 返回值的类型需要与control中的保持一致

SQL语句一方面是写在mapper内,一方面是写在对应的xml文件内:
在这里插入图片描述

7. service文件配置

接口文件配置:

public String[] selectMoInfo();

在这里插入图片描述
impl文件内的类配置,注意在此处使用需要调用的数据源

@Override
@DataSource(value = DataSourceType.SELECTMO)
public String[] selectMoInfo() {
    return planScheduleMapper.selectMoInfo();
}

在这里插入图片描述
这样在前端发送请求,便可以获取成功了,以上便是配置数据源的具体流程例子。

参考资源链接:[Ghidra逆向分析工具详解:从安装到反编译](https://wenku.youkuaiyun.com/doc/3fh5ra0uo8?utm_source=wenku_answer2doc_content) Ghidra作为一个功能强大的逆向工程工具,被广泛应用于恶意软件分析和安全研究领域。为了详细地掌握如何使用Ghidra进行恶意软件的逆向分析,尤其是针对移动平台的应用程序,下面将介绍一系列专业而详细的步骤: 1.安装和配置:首先需要在您的计算机上安装Ghidra,并配置好JDK环境。确保运行Ghidra时,系统满足Ghidra的运行要求。 2.创建新项目:启动Ghidra后,选择创建一个新项目,并指定项目存储的位置和类型。 3.导入目标程序:将恶意软件的二进制文件导入到刚才创建的项目中。这一步骤可以通过Ghidra的界面直接完成。 4.分析程序:选择要分析的程序,Ghidra可以自动启动反汇编过程。对于移动平台的应用程序,可能需要指定正确的架构和编译环境,以便Ghidra能够正确解释代码。 5.使用Ghidra的反编译器:Ghidra提供了强大的反编译器,它能够将低级的汇编代码转换成更高级的伪代码,这使得分析过程更加直观。 6.代码浏览和分析:通过Ghidra提供的用户界面,可以浏览代码结构,使用搜索和过滤功能定位关键函数和可疑行为。对于移动平台应用程序,特别注意分析与权限请求、网络通信、本地数据存储相关的代码段。 7.恶意行为检测:在分析过程中,重点检查恶意软件通常包含的行为,如代码注入、权限滥用、数据窃取等。 8.导出分析结果:完成分析后,Ghidra允许用户导出分析结果,包括代码、数据流图、函数调用图等,为后续的安全研究和报告制作提供支持。 通过以上步骤,可以初步利用Ghidra进行移动平台恶意软件的逆向分析。如果想深入了解Ghidra的高级功能和更多使用技巧,建议参考《Ghidra逆向分析工具详解:从安装到反编译》。这本书详细介绍了Ghidra的安装步骤、功能介绍和实战案例,有助于提升分析工作的深度和广度,是学习Ghidra不可或缺的参考资料。 参考资源链接:[Ghidra逆向分析工具详解:从安装到反编译](https://wenku.youkuaiyun.com/doc/3fh5ra0uo8?utm_source=wenku_answer2doc_content)
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值