开发者社区> 问答> 正文

sharding-jdbc1.5.3,无需分库分表的表,配置default-da?400报错

spring + mybatis + sharding-jdbc1.5.3 + oracle
多表关联查询时,报错:
### SQL: select a.roleid,a.rolename,a.remark,a.createtime?? from mr_role a, mr_userrole b where a.roleid=b.roleid and b.userid=?

Caused by: com.dangdang.ddframe.rdb.sharding.exception.ShardingJdbcException: Cannot find table rule and default data source with logic tables: '[mr_role, mr_userrole]'
?at com.dangdang.ddframe.rdb.sharding.routing.type.complex.ComplexRoutingEngine.route(ComplexRoutingEngine.java:81)
?at com.dangdang.ddframe.rdb.sharding.routing.router.ParsingSQLRouter.route(ParsingSQLRouter.java:117)

展开
收起
爱吃鱼的程序员 2020-06-08 10:52:03 795 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    createtime后面的两个问号是什么意思,是不是sql本身就写错了?

     

    mr_role,mr_userrole都是在默认数据源么?信息不足,无法定位。至少需要配置信息,sql执行的sql.show日志,数据库表结构以及全部的执行代码才可能判断是否有问题

    createtime后面2个问号只是日志拷贝导致,实际执行SQL在mybatis的xml中,2个问号处只是换了行:

    selecta.roleid,a.rolename,a.remark,a.createtime
      frommr_rolea,mr_userrolebwherea.roleid=b.roleidandb.userid=#{userid}

     

    mr_role,mr_userrole都是在默认数据源。仅是普通关联查询。同样的配置,执行单表查询正常。

     

    createtablemr_role (
      roleid              integer                        notnull,
      rolename            varchar(50)                    notnull,
      remark              varchar(255)                   ,
      createtime          varchar2(19)                  defaultto_char(sysdate,'yyyy.mm.ddhh24:mi:ss')notnull
    );

    createtablemr_userrole (
      userid              integer                        notnull,
      roleid              integer                        notnull,
      createtime          varchar2(19)                  defaultto_char(sysdate,'yyyy.mm.ddhh24:mi:ss')notnull,
      constraintpk_mr_userroleprimarykey(userid,roleid)
    );

     

     

    2020-06-08 10:52:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
Phoenix 全局索引原理与实践 立即下载
Phoenix Search Index 功能与应用场景介绍 立即下载