Sql server 将SQL Server本地临时表与MyBatis一起使用

Sql server 将SQL Server本地临时表与MyBatis一起使用,sql-server,mybatis,Sql Server,Mybatis,在MS SQL Server中,本地临时表的前缀是表名中的# select * from #foo 但MyBatis使用#来指定占位符 如何在MyBatis中使用SQL Server的本地临时表 我尝试了各种可能的逃避方法,但没有一种有效。您可以使用以下方法之一解决问题 1-选择一个存储过程,在该存储过程中,您可以随心所欲 2-使用@Table而不是#Table(如果您的数据不是很大,并且您不需要索引创建/验证等功能) “使用@Table而不是#Table”-请注意可能会有副作用…@Mitch

在MS SQL Server中,本地临时表的前缀是表名中的#

select * from #foo
但MyBatis使用#来指定占位符

如何在MyBatis中使用SQL Server的本地临时表


我尝试了各种可能的逃避方法,但没有一种有效。

您可以使用以下方法之一解决问题

1-选择一个存储过程,在该存储过程中,您可以随心所欲

2-使用@Table而不是#Table(如果您的数据不是很大,并且您不需要索引创建/验证等功能)


“使用@Table而不是#Table”-请注意可能会有副作用…@MitchWheat我同意你的意见,我已更新了响应:)问题不是占位符转义,而是存储过程中调用了create Table语句,因此无法从子提示SQL引用它。它通过直接从jdbc执行CREATETABLE来解决。