像是下面的 table_name='user_'#{groupId}
连接是错误的
譬如如果 id 是 132,应该是变成了'user_'132,而不是期望的'user_132'
<select id="tableExists" parameterType="String" resultType="Integer">
SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema='api_db'
AND table_name='user_'#{groupId}
</select>
1
Aegwynn 2017-09-26 15:49:20 +08:00
oracle:'user_'||#{groupId}
mysql:concat('user_',#{groupId}) 顺便吐槽 lz,你这什么 jb 用法,拼接放到上层语言不行么? |
2
LichMscy 2017-09-26 15:52:13 +08:00
一楼正解
传 parameter 的时候直接拼上'user_',减少在 SQL 中拼接,不然就用 concat,建议掌握下 mybatis 的原理 |
3
novaeye 2017-09-26 15:53:40 +08:00
"#"符号换成"$"符号.
参考: http://www.jianshu.com/p/b3b4a4fb8a54 |
4
hcymk2 2017-09-26 16:00:11 +08:00
用 getMetaData().getTables() 来判断表是否存在吧。
|