spring-boot - 在 Springboot 中可以使用 MyBatis 进行动态查询吗?
问题描述
基本上我想主要在两个不同的数据库服务器(PostgresSQL 和 SQL Server)中运行我的应用程序,并且我各自的查询在语法上都不同。我想让它更有活力。因此,当时位于我本地的 PostgresSQL 服务器将加载那些 PG 查询(即我的LDEV
环境)并加载Non LDEV
.
我正在尝试以下方式,但现在遇到了重大障碍。
我的服务类
class Service{
@Autowired
private MyBatisMapper mMapper;
public List<Object> getMostTwoRecordsByName(String name){
return mMapper.getyName(name);
}
}
MyBatis 映射器
public class MyBatisMapper {
@Select("SELECT * FROM dev.tTable where name=#{name} limit 2") // PostgresSQL Query
@Select("SELECT top(2)* FROM where name=#{name} dev.tTable ") // SQL ServerQuery
@ResultType(String.class)
List<String> getyName(@Param(value = "name")String name);
}
我曾尝试将其作为内容,但我无法动态填充Environment
特定的查询。
在我正在使用的本地PostgreSQL
环境中,我的其他环境是SQL Server
.
有什么办法可以解决这个问题吗?提前致谢 !!
解决方案
推荐阅读
- java - java中使用split函数将字符串转换为字符串数组的运行时错误
- ruby - Groovy 中 Ruby 的 string.unpack('N') 等价物是什么?
- html - 通过输入文本更新 2 个 url 参数并选择
- c# - Make Entity Framework reuse a value
- google-api - 没有使用谷歌联系人 API 3.0 版获取电话号码响应字段
- sql - 子查询返回超过 1 个值
- javascript - 命名动态创建的文本区域
- android - 如何配置物理键来执行某些操作?
- android - Android:强制 wifi 管理器保持连接到网络
- c++ - 在模板派生类中使用类型别名继承构造函数