如何从Spring Data存储库调用MySQL函数

Raj*_*Raj 1 java mysql spring spring-data spring-boot

我需要funtion()从一个org.springframework.data.repository将返回a的MySQL调用String.

我能够@Query在我的接口方法声明之上使用注释执行查询,但我不知道调用函数.

Ali*_*ani 6

假设你有一个名为的函数echo,它接受一个字符串作为输入,并返回相同的字符串作为输出的一部分:

CREATE FUNCTION echo(to_be_echoed TEXT) RETURNS TEXT;
Run Code Online (Sandbox Code Playgroud)

然后,如果要从存储库中调用此函数,可以使用带有以下SQL 的本机查询:

SELECT function_name(arguments)
Run Code Online (Sandbox Code Playgroud)

因此,您的存储库方法将是:

@Query(value = "SELECT echo(?1)", nativeQuery = true)
String echo(String toBeEchoed);
Run Code Online (Sandbox Code Playgroud)