【技术实现步骤摘要】
一种基于SpringBoot在不同环境的数据源接入方法和装置
本申请涉及数据库访问领域,尤其涉及一种基于SpringBoot在不同环境的数据源接入方法和装置。
技术介绍
数据库是按照数据结构来组织、存储和管理数据的仓库。数据库有多种类型,例如,简单存储有各种数据表格的数据库或存储海量数据的大型数据库系统。面向对象时,由于数据库在不同的环境下(如开发环境或测试环境),需要不同的数据源对其进行访问,因此,工作人员在切换数据库的环境时,需要对数据源进行切换。目前,现有技术多采用ORM(Object/RelationMapping,对象-关系映射)或JDBC(JavaDataBaseConnectivity,Java数据库连接)来访问数据库,但是,无论ORM还是JDBC均只配置一个数据源。工作人员要实现在不同环境下的数据库访问,就需通过硬编码的方式配置不同的数据源,从而导致工作人员配置的信息非常多,不仅增加开发量,还需花费很多时间和精力,并且实现不灵活。
技术实现思路
本申请提供了一种基于SpringBoot在不同环境的数据源接入方法及装置,以解决现有的ORM和JDBC均只配置一个数据源,工作人员要实现在不同环境下的数据库访问,就需通过硬编码的方式配置不同的数据源,从而导致工作人员配置的信息非常多,不仅增加开发量,还需花费很多时间和精力,并且实现不灵活。第一方面,本申请提供一种基于SpringBoot在不同环境的数据源接入方法,所述方法包括:加载配置文件,所述配置文件包括所述配置文件的类型、所述配置文件的环境变量和预设启动条件;根据所述配置文件的类型和所述配置文件的环 ...
【技术保护点】
1.一种基于Spring Boot在不同环境的数据源接入方法,其特征在于,所述方法包括:加载配置文件,所述配置文件包括所述配置文件的类型、所述配置文件的环境变量和预设启动条件;根据所述配置文件的类型和所述配置文件的环境变量,加载与所述配置文件对应的数据访问对象配置组件;利用所述数据访问对象配置组件中的mapper包的至少一个预设包路径,加载每个所述包路径指定的mapper对象,每个所述mapper对象绑定至少一个第一预设数据源;根据所述预设启动条件,启动所述配置文件对应的数据访问对象配置组件;在service层的基类中注入父接口,所述父接口关联至少一个第二预设数据源;在所述service层的实现类继承所述基类的父接口,并获取所有第二预设数据源;根据所述service层的实现类和mapper对象,获取与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源;根据与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源和所有第二预设数据源,访问所述与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源和所有第二预设数 ...
【技术特征摘要】
1.一种基于SpringBoot在不同环境的数据源接入方法,其特征在于,所述方法包括:加载配置文件,所述配置文件包括所述配置文件的类型、所述配置文件的环境变量和预设启动条件;根据所述配置文件的类型和所述配置文件的环境变量,加载与所述配置文件对应的数据访问对象配置组件;利用所述数据访问对象配置组件中的mapper包的至少一个预设包路径,加载每个所述包路径指定的mapper对象,每个所述mapper对象绑定至少一个第一预设数据源;根据所述预设启动条件,启动所述配置文件对应的数据访问对象配置组件;在service层的基类中注入父接口,所述父接口关联至少一个第二预设数据源;在所述service层的实现类继承所述基类的父接口,并获取所有第二预设数据源;根据所述service层的实现类和mapper对象,获取与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源;根据与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源和所有第二预设数据源,访问所述与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源和所有第二预设数据源连接的数据库。2.如权利要求1所述的方法,其特征在于,所述根据预设的启动条件,启动所述配置文件对应的数据访问对象配置组件包括:获取SpringBoot的启动类的启动注解;根据所述启动注解,获取启动所述配置文件对应的数据访问对象配置组件的条件注解;判断所述条件注解是否与所述预设启动条件相匹配,如果所述启动注解与所述配置文件中启动条件匹配,则启动所述配置文件对应的数据访问对象配置组件。3.如权利要求1所述的方法,其特征在于,所述访问所述父接口关联的数据源和所述mapper对象绑定的数据源连接的数据库之后还包括:获取所述service层的类的事务管理注解;根据所述事务管理注解,利用所述事务管理注解指定的事务处理器对象和与所述事务处理器对象绑定的数据源,对所述数据源连接的数据库进行数据库事务管理。4.如权利要求1所述的方法,其特征在于,所述父接口以java泛型注入所述service层的基类。5.如权利要求1所述的方法,其特征在于,所述根据所述service层的实现类和mapper对象,获取与所述service层的实现类相匹配的mapper对象所绑定的所有第一预设数据源包括:根据所述service层的实现类的类型,查找与所述实现类的类型相匹配的mapper对象;将匹配成功的mapper对象注入对应的实现类,并获取所述mapper对象绑定的所有第一预设数据源。6.一种基于SpringB...
【专利技术属性】
技术研发人员:郑志刚,
申请(专利权)人:北京神州泰岳软件股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。