
sf.jooq.dao.DBJooq 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.jooq.dao;
import org.jooq.Condition;
import org.jooq.Delete;
import org.jooq.Insert;
import org.jooq.Record;
import org.jooq.SQLDialect;
import org.jooq.Select;
import org.jooq.Table;
import org.jooq.Update;
import sf.common.wrapper.Page;
import sf.core.DBObject;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Stream;
public interface DBJooq {
/**
* jooq判断是否存在
* @param sqlDialect 可以传null,主要是用于商业版需要传入.
* @param condition
* @param clz
* @param
* @return
*/
boolean jooqExists(SQLDialect sqlDialect, List condition, Class clz);
/**
* jooq 查询单一对象
* @param select 查询语句
* @param returnClass 返回类型
* @param
* @return
*/
T jooqSelectOne(Select> select, Class returnClass);
/**
* jooq 查询list
* @param select
* @param returnClass
* @param
* @return
*/
List jooqSelectList(Select> select, Class returnClass);
/**
* jooq 查询分页
* @param countSelect 查询总数的select
* @param pageSelect 查询列表的select,必须包含分页参数.
* @param returnClass 返回值
* @param 返回值根据select的查询条件变化,可能为bean,单一值,或Map
* @return
* @
*/
Page jooqSelectPage(Select> countSelect, Select> pageSelect, Class returnClass);
/**
* jooq 查询按流返回
* @param ormIt
* @param beanClass
* @param select
* @param
*/
void jooqSelectIterator(Consumer> ormIt, Class beanClass, Select> select);
/**
* jooq 查询按流返回
* @param ormStream
* @param beanClass
* @param select
* @param
*/
void jooqSelectStream(Consumer> ormStream, Class beanClass, Select> select);
/**
* jooq 插入
* @param insert
* @return
*/
int jooqInsert(Insert insert);
/**
* 带返回值的插入
* @param insert
* @param table 使用的表
* @param keyValues
* @return
*/
int jooqInsert(Insert insert, Table table, Map keyValues);
/**
* jooq 更新
* @param update
* @return
*/
int jooqUpdate(Update update);
/**
* jooq 删除
* @param delete
* @return
*/
int jooqDelect(Delete delete);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy