Package org.apache.ibatis.annotations
Annotation Type SelectProvider
-
@Documented @Retention(RUNTIME) @Target(METHOD) @Repeatable(List.class) public @interface SelectProvider
The annotation that specify a method that provide an SQL for retrieving record(s).How to use:
public interface UserMapper { @SelectProvider(type = SqlProvider.class, method = "selectById") User selectById(int id); public static class SqlProvider { public static String selectById() { return "SELECT id, name FROM users WHERE id = #{id}"; } } }
- Author:
- Clinton Begin
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
affectData
Returns whether this select affects DB data.
e.g.String
databaseId
String
method
Specify a method for providing an SQL.Class<?>
type
Specify a type that implements an SQL provider method.Class<?>
value
Specify a type that implements an SQL provider method.
-
-
-
-
method
String method
Specify a method for providing an SQL.Since 3.5.1, this attribute can omit.
If this attribute omit, the MyBatis will call a method that decide by following rules.
-
If class that specified the
type()
attribute implements theProviderMethodResolver
, the MyBatis use a method that returned by it. -
If cannot resolve a method by
ProviderMethodResolver
(= not implement it or it was returnednull
, the MyBatis will search and use a fallback method that namedprovideSql
from specified type.
- Returns:
- a method name of method for providing an SQL
- Default:
- ""
-
If class that specified the
-
-
-
databaseId
String databaseId
- Returns:
- A database id that correspond this provider
- Since:
- 3.5.5
- Default:
- ""
-
-