Package cn.cloudself.query.resolver
Interface QSR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> TexecBatch(HashMapStore configStore, List<SqlAndParams> sqlAndParamsList, Class<T> clazz)使用多条语句和参数执行更新,创建,删除等非select语句<ID,V,M extends Map<String,V>>
List<ID>insert(HashMapStore configStore, Collection<M> objs, String table, Class<ID> idColumnClazz)动态插入 通过 objs 配合数据库表名,动态生成sql语句,并执行List<Object>insert(QueryStructure queryStructure, QueryPayload payload, Class<?> clazz)将QueryStructure解析至SQL并执行(insert) insert方法和resolve方法的区别是 返回结果不一样<T> List<T>resolve(HashMapStore configStore, QueryStructureAction action, String sql, Object[] params, Class<T> clazz)执行一个SQL语句<T> List<T>resolve(QueryStructure queryStructure, QueryPayload payload, Class<T> clazz)将QueryStructure解析至SQL并执行
-
-
-
Method Detail
-
resolve
@NotNull <T> List<T> resolve(@NotNull QueryStructure queryStructure, @NotNull QueryPayload payload, @NotNull Class<T> clazz)
将QueryStructure解析至SQL并执行- Parameters:
queryStructure- [QueryStructure]clazz- QSR模版支持`JavaBean`, `Map`, 以及`Long`, `String`, `Boolean`等基本类型。另外,默认使用的JdbcQSR(为QSR的子类)还额外支持`IResultSetWalker` insert时为对象的类型- Returns:
- clazz为基本类型时,可能返回List<T?> 当动作为insert时,返回值为List<ID>
-
resolve
@NotNull <T> List<T> resolve(@NotNull HashMapStore configStore, @NotNull QueryStructureAction action, @NotNull String sql, @NotNull Object[] params, @NotNull Class<T> clazz)
执行一个SQL语句- Parameters:
sql- 单条sql语句 e.g. SELECT * FROM user WHERE user.id = ?params- 参数数组 e.g. [1]clazz- `JavaBean`, `Map`, and basic type e.g. `Long`, `String`, `Boolean` etc. for select by default; [Int] for updateaction- [QueryStructureAction]- Returns:
- clazz为基本类型时,可能返回List<T?>
-
insert
@NotNull <ID,V,M extends Map<String,V>> List<ID> insert(@NotNull HashMapStore configStore, @NotNull Collection<M> objs, @NotNull String table, @Nullable Class<ID> idColumnClazz)
动态插入 通过 objs 配合数据库表名,动态生成sql语句,并执行- Parameters:
objs- 需要插入的Map类型的集合table- 数据库表名idColumnClazz- 如需返回ID,指定ID的类型
-
insert
@NotNull List<Object> insert(@NotNull QueryStructure queryStructure, @NotNull QueryPayload payload, @NotNull Class<?> clazz)
将QueryStructure解析至SQL并执行(insert) insert方法和resolve方法的区别是 返回结果不一样- Parameters:
queryStructure- [QueryStructure]clazz- Class<JavaBean>- Returns:
- List<ID>
-
execBatch
@NotNull <T> T execBatch(@NotNull HashMapStore configStore, @NotNull List<SqlAndParams> sqlAndParamsList, @NotNull Class<T> clazz)使用多条语句和参数执行更新,创建,删除等非select语句- Parameters:
sqlAndParamsList- 多对sql and paramsclazz- 指定返回结果的类型,支持- List 代表最后一条语句的返回结果
- Int 总更新条数
- Boolean 永远返回true
-
-