
sf.querydsl.dao.DBQueryDSLImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sorm Show documentation
Show all versions of sorm Show documentation
java jpa tool for spring
The newest version!
package sf.querydsl.dao;
import com.querydsl.core.types.Predicate;
import com.querydsl.sql.AbstractSQLQuery;
import com.querydsl.sql.Configuration;
import com.querydsl.sql.SQLTemplates;
import com.querydsl.sql.dml.SQLDeleteClause;
import com.querydsl.sql.dml.SQLInsertClause;
import com.querydsl.sql.dml.SQLMergeClause;
import com.querydsl.sql.dml.SQLUpdateClause;
import sf.common.wrapper.Page;
import sf.core.DBObject;
import sf.database.dao.DBClient;
import sf.database.jdbc.sql.Crud;
import sf.database.util.DBUtils;
import sf.querydsl.QueryDSLDialectUtils;
import sf.spring.util.Assert;
import javax.inject.Provider;
import java.sql.Connection;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Stream;
public class DBQueryDSLImpl implements DBQueryDSL {
protected DBClient client;
public DBQueryDSLImpl(DBClient client) {
this.client = client;
}
@Override
public SQLTemplates queryDSLSQLTemplates(boolean readonly) {
return client.executeFunc(conn -> QueryDSLDialectUtils.getSQLTemplates(DBUtils.doGetDialect(conn, false).getQueryDslDialect()));
}
@Override
public Configuration queryDSLConfiguration(Class extends DBObject>... tableClass) {
return client.executeFunc(conn -> Crud.getInstance().getQueryDSLInf().queryDSLConfiguration(conn, tableClass));
}
@Override
public Provider queryDSLProvider(boolean readonly) {
throw new UnsupportedOperationException("not support!");
}
@Override
public boolean queryDSLExists(List predicates, Class clz) {
Assert.notNull(predicates, "返回类型不能为空");
// Class> clz = QueryDSL.getQueryDSLTableClass(query);
return client.executeFunc(conn -> Crud.getInstance().getQueryDSLInf().queryDSLExists(conn, predicates, clz));
}
@Override
public List queryDSLSelectList(AbstractSQLQuery, ?> query, Class returnClass) {
Assert.notNull(returnClass, "返回类型不能为空");
// Class> clz = QueryDSL.getQueryDSLTableClass(query);
return client.executeFunc(conn -> Crud.getInstance().getQueryDSLInf().queryDSLSelectList(conn, query, returnClass));
}
@Override
public Page queryDSLSelectPage(AbstractSQLQuery, ?> query, Class returnClass, long start, int limit) {
Assert.notNull(returnClass, "返回类型不能为空");
// Class> clz = QueryDSL.getQueryDSLTableClass(query);
return client.executeFunc(conn -> Crud.getInstance().getQueryDSLInf().queryDSLSelectPage(conn, query, returnClass, start, limit));
}
@Override
public T queryDSLSelectOne(AbstractSQLQuery, ?> query, Class returnClass) {
Assert.notNull(returnClass, "返回类型不能为空");
// Class> clz = QueryDSL.getQueryDSLTableClass(query);
return client.executeFunc(conn -> Crud.getInstance().getQueryDSLInf().queryDSLSelectOne(conn, query, returnClass));
}
@Override
public void queryDSLSelectIterator(Consumer> ormIt, Class beanClass, AbstractSQLQuery, ?> query) {
Assert.notNull(beanClass, "返回类型不能为空");
// Class> clz = QueryDSL.getQueryDSLTableClass(query);
client.executeFunc(conn -> {
Crud.getInstance().getQueryDSLInf().selectIterator(conn, ormIt, query, beanClass);
return null;
});
}
@Override
public void queryDSLSelectStream(Consumer> ormStream, Class beanClass, AbstractSQLQuery, ?> query) {
Assert.notNull(beanClass, "返回类型不能为空");
// Class> clz = QueryDSL.getQueryDSLTableClass(query);
client.executeFunc(conn -> {
Crud.getInstance().getQueryDSLInf().selectStream(conn, ormStream, query, beanClass);
return null;
});
}
@Override
public int queryDSLInsert(SQLInsertClause insert) {
Class> clz = null;
// clz = QueryDSL.getInsertTableClass(insert);
return client.executeFunc(conn -> Crud.getInstance().getQueryDSLInf().queryDSLInsert(conn, insert));
}
@Override
public int queryDSLInsert(SQLInsertClause insert, List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy