【问题标题】:How to call MySQL function from Spring Data repositories如何从 Spring Data 存储库中调用 MySQL 函数
【发布时间】:2016-12-17 07:28:41
【问题描述】:

我需要从 org.springframework.data.repository 调用 MySQL funtion(),这将返回 String

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

【问题讨论】:

    标签: java mysql spring spring-boot spring-data


    【解决方案1】:

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

    CREATE FUNCTION echo(to_be_echoed TEXT) RETURNS TEXT;
    

    如果你想从你的存储库中调用这个函数,你可以使用带有以下 SQL 的 Native Query

    SELECT function_name(arguments)
    

    因此,您的存储库方法如下:

    @Query(value = "SELECT echo(?1)", nativeQuery = true)
    String echo(String toBeEchoed);
    

    【讨论】:

    • 如果返回一个List呢?
    【解决方案2】:

    如果您使用 Spring Data,则可以使用以下功能之一:

    @Procedure("prosedure_name")
    void prosedureName();
    

    @Procedure(value = "prosedure_name")
    void prosedureName();
    

    @Procedure(procedureName = "prosedure_name")
    void prosedureName();
    

    @Procedure
    void prosedure_name();
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2014-06-19
      • 1970-01-01
      • 2019-02-10
      相关资源
      最近更新 更多