V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
zmz980126
V2EX  ›  MySQL

求教 Mybatis 一个数据库查询问题

  •  
  •   zmz980126 · 2019-08-07 14:10:12 +08:00 · 4071 次点击
    这是一个创建于 1938 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样子的,需求要 A 表的信息,A 除了一些其他字段,有(varchar)A.belong_type,(int)A.belong 字段,有 N1,N2,N3 比方说这三个表(可以认为这三个表都只有 id,name 字段),要通过 belong_type 的值"1","2","3"决定哪个表(N1,N2,N3)使 A.belong=Nx.id 得到 name 字段 有什么效率比较高的实现方式吗? 我自己是先 select 了一遍 A,然后通过那两个字段又 select 了一遍 Nx,但感觉效率太差了,而且 Nx 的条目一多就会很慢 我也不知道设计数据库的那位为啥没给 Nx 设计 type 字段 以及<if text="xxx"> 标签只能接受外部参数吗?不可以是查询的字段吗</if>

    7 条回复    2019-08-08 09:27:53 +08:00
    x7395759
        1
    x7395759  
       2019-08-07 14:24:13 +08:00   ❤️ 1
    <if text="xxx">这个标签是 Mybatis 的不是 SQL 的,所以不行

    然后 case when 是不是可以解决这个问题?
    huangdaxian
        2
    huangdaxian  
       2019-08-07 14:44:05 +08:00
    Left join 里面 on 加条件?
    zilaijuan
        3
    zilaijuan  
       2019-08-07 15:03:52 +08:00 via Android
    借楼问一下,怎么配 mybatis generator 才能在 mapper 里生成批量插入的方法?搜了半天没搜到。。。
    gz911122
        4
    gz911122  
       2019-08-07 15:10:47 +08:00
    case when 不就完事了
    ColoThor
        5
    ColoThor  
       2019-08-07 17:45:30 +08:00
    union ?
    zmz980126
        6
    zmz980126  
    OP
       2019-08-08 09:24:53 +08:00
    case when 可以决定连哪个表?
    zmz980126
        7
    zmz980126  
    OP
       2019-08-08 09:27:53 +08:00
    我好像明白了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:37 · PVG 11:37 · LAX 19:37 · JFK 22:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.