The present disclosure relates to an electronic device for a database repository method, device, middleware and storage medium. The method includes: receiving a database operation request, parsing the database operation request to invoke the preset database method, making the preset database method access the preset proxy class when invoking the preset database method, and acquiring the method name of the preset database method and judging it. The method type to which the method name belongs; the preset proxy class accesses the database according to the determined method type to operate on the database. The disclosure can reduce code intrusiveness, development volume and development complexity for implementing sub-library operations.
【技术实现步骤摘要】
数据库分库方法、装置、中间件及存储介质和电子设备
本公开涉及计算机
,尤其涉及一种数据库分库方法、数据库分库装置、包含所述数据库分库装置的数据库访问中间件以及实现所述数据库分库方法的计算机可读存储介质和电子设备。
技术介绍
目前Java开源项目中,访问数据库的项目有很多,其中比较著名的也是目前使用比较多的分别是Hibernate和Mybatis项目。其中Hibernate由于比较重量级,所以一般多用在大型或者超大型项目中。而Mybatis由于比较轻量级,且由于开发方式简单高效等原因被大量的中小型项目所使用。甚至一些大型项目目前也使用Mybatis作为数据库访问组件。但是目前Mybatis并不支持分库操作,导致很多项目由于数据量大导致数据库压力过大,执行效率低下。相关技术中,为了使Mybatis进行分库操作,多采用Spring技术动态数据源的方式。当一条数据进入系统时,首先通过逻辑计算该数据应使用的数据库,再通过ThreadLocal传递应使用的数据库的信息,执行数据库操作之前通过编码指定对应数据库进行操作,这样在一定程度上减小了数据库压力,执行效率有所提高。 ...
【技术保护点】
1.一种数据库分库方法,其特征在于,所述方法包括:接收一条数据库操作请求,解析所述数据库操作请求以调用预设数据库方法;在调用所述预设数据库方法时,使所述预设数据库方法访问预设代理类;所述预设代理类获取所述预设数据库方法的方法名称,并判断所述方法名称所属的方法类型;所述预设代理类根据判断得到的方法类型访问数据库以对所述数据库进行操作。
【技术特征摘要】
1.一种数据库分库方法,其特征在于,所述方法包括:接收一条数据库操作请求,解析所述数据库操作请求以调用预设数据库方法;在调用所述预设数据库方法时,使所述预设数据库方法访问预设代理类;所述预设代理类获取所述预设数据库方法的方法名称,并判断所述方法名称所属的方法类型;所述预设代理类根据判断得到的方法类型访问数据库以对所述数据库进行操作。2.根据权利要求1所述数据库分库方法,其特征在于,在所述预设代理类获取所述预设数据库方法的方法名称之前,所述方法还包括:所述预设代理类判断在调用所述预设数据库方法时是否传递了分库主键;若是,则根据所述分库主键计算所述数据库操作请求所要访问的目标数据库;所述预设代理类直接访问所述目标数据库以对所述目标数据库进行操作;若否,则所述预设代理类获取所述预设数据库方法的方法名称。3.根据权利要求2所述数据库分库方法,其特征在于,所述分库主键的传递方式包括以下任意一个:在HashMap中指出;通过继承分库主键抽象类中的shardingKey赋值;以及在所述预设代理类的XML配置文件中配置所述预设数据库方法对应的分库主键的属性名称。4.根据权利要求2所述数据库分库方法,其特征在于,所述根据所述分库主键计算所述数据库操作请求所要访问的目标数据库包括:由预设调度类根据所述分库主键计算所述数据库操作请求所要访问的目标数据库。5.根据权利要求4所述数据库分库方法,其特征在于,所述由预设调度类根据所述分库主键计算所述数据库操作请求所要访问的目标数据库包括:所述预设调度类根据所述分库主键并结合哈希算法或者取余算法计算所述数据库操作请求所要访问的目标数据库。6.根据权利要求1~5任一项所述数据库分库方法,其特征在于,所述预设代理类根据判断得到的方法类型访问数据库以对所述数据库进行操作包括:根据所述方法类型对应的操作请求默认对全部数据库进行操作;或者,判断所述方法类型对应的操作请求是否包括分库主键;若是,则根据所述分库主键访问对应的数据库以对该对应的数据库进行操作。7.根据权利要求6所述数据库分库方法,其特征在于,所...
【专利技术属性】
技术研发人员:张志维,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。