本发明涉及计算机软件领域,特别涉及一种数据源的变更方法、系统、智能终端及存储介质。
背景技术:
1、现有技术中开源静态多数据源在发生变化后,需要重启应用才能生效,并且无法实时添加和修改。
2、例如,druid和hikari等数据库连接池在操作数据库的时候存在以下不足:1.需要提前配置数据源,并在重启应用后才生效;2.可通过目录扫描或注解方式选择数据源,但无法通过动态方式实时指定数据源。而jdbc(jdbc:java database connect,中文名为java数据库链接,它是一套用于执行sql(sql:structured query language,中文名问结构化查询语言,它是对关系型数据库的操作语言)语句的java api(api:application programminginterface,中文名为应用程序接口,是指两个不同软件应用之间进行交互的一组方法))手动操作动态数据源时,则存在实现麻烦、代码量大和不可靠等问题。
3、因而现有技术还有待改进和提高。
技术实现思路
1、本发明的主要目的在于提供一种数据源的变更方法、系统、智能终端及存储介质,旨在解决现有技术中无法在应用运行状态时,实时添加和修改数据源的问题。
2、为了达到上述目的,本发明采取了以下技术方案:
3、第一方面,本申请实施例提供一种数据源的变更方法,包括:
4、在接收到对数据库的操作指令后,实时判断数据源的状态是否发生变更;
5、在发生变更时,根据线程变量中的数据源标识查找并连接目标数据库,以操作所述目标数据库;
6、在对所述目标数据库操作完成后,利用拦截器将所述数据源标识中从所述线程变量中进行删除,以在执行下一次操作指令时对新写入线程变量中的数据源标识进行识别。
7、在一些实施例中,该数据源的变更方法还包括:
8、在判断出所述数据源的状态未发生变更时,根据所述操作指令对原始数据源进行操作。
9、在一些实施例中,所述根据线程变量中的数据源标识查找并连接目标数据库,包括:
10、在利用所述拦截器实时识别注释或包路径中的所述数据源标识,并将所述数据源标识写入所述线程变量后,根据所述线程变量中的所述数据源标识查找对应的所述目标数据库。
11、在一些实施例中,所述根据线程变量中的数据源标识查找并连接目标数据库,还包括:
12、根据运行时设置的线程变量中的所述数据源标识查找对应的所述目标数据库。
13、在一些实施例中,所述在接收到对数据库的操作指令后,实时判断数据源的状态是否发生变更,之前还包括:
14、分别建立所述系统若干原始数据源与其对应的数据库的映射关系,得到映射表。
15、在一些实施例中,所述实时判断所述数据源的状态是否发生变更,包括:
16、实时判断与所述映射表中的映射关系是否出现修改或者新增;
17、其中,新增的映射关系为所述数据源标识和所述目标数据库对应的关系。
18、在一些实施例中,所述数据源标识包括:目标数据库的用户名、密码和地址。
19、第二方面,本申请实施例提供一种数据源的变更系统,包括:
20、判断模块,用于在接收到对数据库的操作指令后,实时判断数据源的状态是否发生变更;
21、操作模块,用于在发生变更时,根据线程变量中的数据源标识查找并连接目标数据库,以操作所述目标数据库;
22、删除模块,用于在对所述目标数据库操作完成后,利用拦截器将所述数据源标识中从所述线程变量中进行删除,以在执行下一次操作指令时对新写入线程变量中的数据源标识进行识别。
23、第三方面,本申请实施例提供一种智能终端,包括:存储器、处理器、显示器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的数据源的变更方法的步骤。
24、第四方面,本申请实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据源的变更方法的步骤。
25、相较于现有技术,本发明提供的一种数据源的变更方法、系统、智能终端及存储介质,所述方法包括:在接收到对数据库的操作指令后,实时判断数据源的状态是否发生变更;在发生变更时,根据线程变量中的数据源标识查找并连接目标数据库,以操作所述目标数据库;在对所述目标数据库操作完成后,利用拦截器将所述数据源标识中从所述线程变量中进行删除,以在执行下一次操作指令时对新写入线程变量中的数据源标识进行识别,实现了实时对数据源的选择、添加和修改,同时实现了在执行下一次操作指令时,避免干扰新的数据源选择。
1.一种数据源的变更方法,其特征在于,包括:
2.根据权利要求1所述的数据源的变更方法,其特征在于,还包括:
3.根据权利要求1所述的数据源的变更方法,其特征在于,所述根据线程变量中的数据源标识查找并连接目标数据库,包括:
4.根据权利要求1所述的数据源的变更方法,其特征在于,所述根据线程变量中的数据源标识查找并连接目标数据库,还包括:
5.根据权利要求1所述的数据源的变更方法,其特征在于,所述在接收到对数据库的操作指令后,实时判断数据源的状态是否发生变更,之前还包括:
6.根据权利要求5所述的数据源的变更方法,其特征在于,所述实时判断所述数据源的状态是否发生变更,包括:
7.根据权利要求6所述的数据源的变更方法,其特征在于,所述数据源标识包括:目标数据库的用户名、密码和地址。
8.一种数据源的变更系统,其特征在于,包括:
9.一种智能终端,其特征在于,包括:存储器、处理器、显示器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7任一项所述的数据源的变更方法的步骤。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的数据源的变更方法的步骤。