public class DefaultQueryHelper extends Object implements QueryHelper
QueryHelper.ColumnMapperSpec<R,Self extends QueryHelper.ColumnMapperSpec<R,Self>>, QueryHelper.ExecuteSpec<R>, QueryHelper.FromSpec<R>, QueryHelper.Getter<S,V>, QueryHelper.JoinSpec<R>, QueryHelper.NativeQuerySpec<T>, QueryHelper.SelectColumnMapperSpec<R>, QueryHelper.SelectSpec<R>, QueryHelper.Setter<S,V>, QueryHelper.SortSpec<R>, QueryHelper.WhereSpec<R>| 构造器和说明 |
|---|
DefaultQueryHelper() |
| 限定符和类型 | 方法和说明 |
|---|---|
QueryAnalyzer |
analysis(String selectSql)
基于SQL创建分析器
|
<R> QueryHelper.SelectColumnMapperSpec<R> |
select(Class<R> resultType)
创建一个查询构造器
|
<R> QueryHelper.SelectSpec<R> |
select(Class<R> resultType,
java.util.function.Consumer<QueryHelper.ColumnMapperSpec<R,?>> mapperSpec)
创建一个查询构造器,并返回指定的实体类型
|
QueryHelper.NativeQuerySpec<org.hswebframework.ezorm.rdb.mapping.defaults.record.Record> |
select(String sql,
Object... args)
创建原生SQL查询器
预编译参数仅支持
? |
<T> QueryHelper.NativeQuerySpec<T> |
select(String sql,
java.util.function.Supplier<T> newInstance,
Object... args)
逻辑和
QueryHelper.select(String, Object...)相同,将查询结果转换为指定的实体类 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcombineOneToMany, combineOneToMany, transformPageResultpublic QueryAnalyzer analysis(String selectSql)
QueryHelperanalysis 在接口中 QueryHelperselectSql - SQLpublic QueryHelper.NativeQuerySpec<org.hswebframework.ezorm.rdb.mapping.defaults.record.Record> select(String sql, Object... args)
QueryHelper
预编译参数仅支持?占位符,如果要使用模版,请使用SqlRequests.template(String, Object)
构造sql以及参数
Flux<Record> records = helper
.select("select * from table where type = ?",type)
//注入动态查询条件
.where(param)
//或者编程式构造动态条件
.where(dsl->dsl.is("name",name))
//执行查询
.fetch();
join逻辑:
helper.select("select t1.id,t2.* from table t1"+
" left join table2 t2 on t1.id = t2.id") ...
将返回结构:
[
{
"id":"t1.id的值",
"t2.c1":"t2的字段"
}
]
⚠️注意:避免动态拼接SQL语句,应该使用预编译参数或者动态注入动态条件来进行条件处理.
select 在接口中 QueryHelpersql - SQL查询语句args - 预编译参数public <T> QueryHelper.NativeQuerySpec<T> select(String sql, java.util.function.Supplier<T> newInstance, Object... args)
QueryHelperQueryHelper.select(String, Object...)相同,将查询结果转换为指定的实体类select 在接口中 QueryHelperT - 实体类型sql - SQLnewInstance - 实体类实例化方法args - 参数public <R> QueryHelper.SelectColumnMapperSpec<R> select(Class<R> resultType)
QueryHelperselect 在接口中 QueryHelperR - 类型resultType - 实体类型,必须明确定义实体类,不能使用Map等类型public <R> QueryHelper.SelectSpec<R> select(Class<R> resultType, java.util.function.Consumer<QueryHelper.ColumnMapperSpec<R,?>> mapperSpec)
QueryHelperselect 在接口中 QueryHelperR - 类型resultType - 实体类型,必须明确定义实体类,不能使用Map等类型mapperSpec - 实体映射配置Copyright © 2016–2023. All rights reserved.