public class ConditionalSQLManager extends SQLManager
TargetSQLManager| 限定符和类型 | 类和说明 |
|---|---|
static interface |
ConditionalSQLManager.Conditional |
static class |
ConditionalSQLManager.DefaultConditional |
name| 构造器和说明 |
|---|
ConditionalSQLManager(SQLManager defaultSQLManager,
Map<String,SQLManager> sqlManagerMap) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addIdAutoGen(String name,
IDAutoGen alorithm)
设置一种id算法用于注解AssignId("xxx"),这样,对于应用赋值主键,交给beetlsql来处理了
|
void |
addVirtualTable(String realTable,
String virtualTable)
为不存在的表设置一个数据库真正的表,以用于获取metadata
主要用于数据库分库分表
|
<T> List<T> |
all(Class<T> clazz)
btsql自动生成查询语句,查询clazz代表的表的所有数据。
|
<T> List<T> |
all(Class<T> clazz,
Object start,
Long pageSize) |
long |
allCount(Class<?> clazz)
查询记录数
|
BigDecimal |
bigDecimalValue(SqlId id,
Object paras)
将查询结果返回成BigDecimal类型
|
boolean |
containSqlId(SqlId sqlId) |
protected SQLManager |
decide(Class pojo)
子类或者Conditional覆盖,决定使用哪个sqlManager
|
protected SQLManager |
decide(SqlId sqlId) |
int |
deleteById(Class<?> clazz,
Object pkValue)
delete from user where 1=1 and id= #id#
根据Id删除数据:支持联合主键
|
int |
deleteObject(Object obj)
删除对象, 通过对象的主键
|
<T> List<T> |
execute(SQLReady p,
Class<T> clazz)
直接执行sql语句查询,sql语句已经是准备好的,采用preparedstatment执行
|
<T> PageResult<T> |
execute(SQLReady p,
Class<T> clazz,
PageRequest<T> pageRequest)
本地分页查询
|
<T> List<T> |
execute(String sqlTemplate,
Class<T> clazz,
Object paras)
直接执行语句,sql是模板
|
<T> List<T> |
execute(String sqlTemplate,
Class<T> clazz,
Object paras,
long start,
long size)
直接执行sql模版语句,sql是模板
|
int[] |
executeBatchUpdate(SQLBatchReady batch) |
<T> T |
executeOnConnection(OnConnection<T> onConnection)
自己用Connection执行jdbc,通常用于存储过程调用,或者需要自己完全控制的jdbc
|
<T> PageResult<T> |
executePageQuery(String sqlTemplate,
Class<T> clazz,
Object paras,
PageRequest<T> request)
sql 模板分页查询,记得使用page函数
|
<T> T |
executeQueryOne(SQLReady p,
Class<T> clazz) |
int |
executeUpdate(SQLReady p)
直接执行sql语句,用于删除或者更新,sql语句已经是准备好的,采用preparedstatment执行
|
int |
executeUpdate(String sqlTemplate,
Object paras)
直接执行sql更新,sql是模板
|
boolean |
exist(Class<?> clazz,
Object pk)
是否有此对象
|
protected int |
generalInsert(Class clazz,
Object paras,
boolean template) |
protected Object |
getAssignIdByIdAutoGen(String name,
String param,
String table)
根据某种算法自动计算id
|
String |
getCharset() |
ClassDesc |
getClassDesc(Class target) |
ClassLoaderKit |
getClassLoaderKit() |
DBStyle |
getDbStyle()
得到当前sqlmanager的数据库类型
|
BeanProcessor |
getDefaultBeanProcessors()
得到默认的jdbc到bean的处理类
|
ConnectionSource |
getDs() |
Interceptor[] |
getInters()
得到所有的Interceptor
|
<T> T |
getMapper(Class<T> mapperInterface) |
MetadataManager |
getMetaDataManager()
得到MetaDataManager,用来获取数据库元数据,如表,列,主键等信息
|
NameConversion |
getNc()
获取 NameConversion
|
Map<String,BeanProcessor> |
getProcessors()
获取特殊的BeanPorcessor
|
SQLExecutor |
getScript(Class<?> cls,
AutoSQLEnum autoSQLEnum)
得到增删改查模板
|
SQLExecutor |
getScript(SqlId sqlId)
得到指定sqlId的sqlscript对象
|
SqlIdFactory |
getSqlIdFactory() |
SQLLoader |
getSqlLoader() |
SQLResult |
getSQLResult(SqlId id,
Object paras)
不执行数据库操作,仅仅得到一个sql模板执行后的实际得sql和相应的参数
|
SQLResult |
getSQLResult(SqlId id,
Object paras,
TemplateContext ctx) |
SQLResult |
getSQLResult(SQLSource source,
Object inputParas)
内部使用,
|
SQLTemplateEngine |
getSqlTemplateEngine()
得到sql模板引擎
|
TableDesc |
getTableDesc(String table) |
int |
insert(Class clazz,
Object paras)
对于有自增主键的表,插入一行记录
|
int |
insert(Object paras)
通用插入操作
|
int |
insert(SqlId sqlId,
Object paras)
插入,并获取主键,主键将通过paras所代表的表名来获取
|
Object[] |
insert(SqlId sqlId,
Object paras,
String[] cols)
插入单条,并获取自增主键值,因为此接口并未指定实体对象,因此需要keyName来指明数据库主键列
对于一次插入多条,不支持TODO,需要试一下
|
int[] |
insertBatch(Class clazz,
List<?> list)
批量插入
|
int |
insertTemplate(Class clazz,
Object paras)
模板插入,非空值插入到数据库,并且获取到自增主键的值
|
int |
insertTemplate(Object paras)
通用模板插入
|
Integer |
intValue(SqlId id,
Object paras)
将查询结果返回成Integer类型
|
boolean |
isOffsetStartZero() |
boolean |
isProduct() |
boolean |
isProductMode()
是否是生产模式:生产模式MetadataManager ,不查看sql文件变化,默认是false
|
<T> LambdaQuery<T> |
lambdaQuery(Class<T> clazz) |
<T> T |
lock(Class<T> clazz,
Object pk)
一个行级锁实现,类似select * from xx where id = ?
|
Long |
longValue(SqlId id,
Object paras)
将查询结果返回成Long类型
|
<T> PageResult<T> |
pageQuery(SqlId sqlId,
Class<T> clazz,
Object paras,
PageRequest request) |
<T> Query<T> |
query(Class<T> clazz) |
SQLManager |
resultSetMapper(Class resultSetMapperClass) |
SQLManager |
rowMapper(Class rowMapperClass) |
<T> List<T> |
select(SqlId sqlId,
Class<T> clazz)
根据sqlId查询目标对象
|
<T> List<T> |
select(SqlId sqlId,
Class<T> clazz,
Object paras)
通过sqlId进行查询,查询结果映射到clazz上,输入条件是个Bean,
Bean的属性可以被sql语句引用,如bean中有name属性,即方法getName,则sql语句可以包含 name属性,如select *
from xxx where name = #name#
|
<T> List<T> |
select(SqlId sqlId,
Object paras,
Class<T> clazz,
long start,
long size) |
<T> T |
selectSingle(SqlId sqlId,
Object paras,
Class<T> target)
返回查询的第一行数据,如果有未找到,返回null
|
<T> T |
selectUnique(SqlId id,
Object paras,
Class<T> target)
返回一行数据,如果有多行或者未找到,抛错
|
void |
setCharset(String charset) |
void |
setClassLoaderKit(ClassLoaderKit classLoaderKit)
设置classloder,如果没有,pojo的初始化使用ContextClassLoader或者加载Beetlsql的classLoader
|
void |
setConditional(ConditionalSQLManager.Conditional conditional) |
void |
setDbStyle(DBStyle dbStyle) |
void |
setDefaultBeanProcessors(BeanProcessor defaultBeanProcessors)
设置默认的jdbc 到 bean的映射处理类,用户可以自己扩展处理最新的类型
|
void |
setDs(ConnectionSource ds)
设置ConnectionSource,参考ConnectionSourceHelper
|
void |
setInters(Interceptor[] inters)
设置Interceptor
|
void |
setMetaDataManager(SchemaMetadataManager metaDataManager) |
void |
setNc(NameConversion nc)
设置NameConversion
|
void |
setProcessors(Map<String,BeanProcessor> processors)
为指定的sqlId提供一个处理类,可以既可以是一个sqlId,也可以是namespace部分,
所有属于namesapce的都会被此BeanProcessor 处理
|
void |
setProduct(boolean product) |
void |
setSqlIdFactory(SqlIdFactory sqlIdFactory) |
void |
setSqlLoader(SQLLoader sqlLoader) |
void |
setSQLTemplateEngine(SQLTemplateEngine sqlTemplateEngine) |
<T> T |
single(Class<T> clazz,
Object pk) |
<T> List<T> |
template(T t) |
<T> long |
templateCount(Class<T> target,
Object paras) |
<T> long |
templateCount(T t)
查询总数
|
<T> T |
templateOne(T t) |
<T> T |
unique(Class<T> clazz,
Object pk)
根据主键查询 获取唯一记录,如果纪录不存在,将会抛出异常
|
int |
update(SqlId sqlId)
执行sql更新(或者删除)操作
|
int |
update(SqlId sqlId,
Map<String,Object> paras)
执行sql更新(或者删除语句)
|
int |
update(SqlId sqlId,
Object obj)
执行sql更新(或者删除)操作
|
int |
updateAll(Class<?> clazz,
Object param)
更新指定表
|
int[] |
updateBatch(SqlId sqlId,
List<?> list)
对pojo批量更新执行sql更新语句,list包含的对象是作为参数,所有属性参与更新
|
int[] |
updateBatchTemplateById(Class clz,
List<?> list)
批量模板更新方式,list包含的对象是作为参数,非空属性参与更新
|
int |
updateById(Object obj)
更新一个对象
|
int[] |
updateByIdBatch(List<?> list)
批量更新
|
int |
updateTemplateById(Class c,
Map paras) |
int |
updateTemplateById(Class c,
Object obj)
按照模板更新
|
int |
updateTemplateById(Object obj)
为null的值不参与更新,如果想更新null值,请使用updateById
|
boolean |
upsert(Object obj)
先判断是否主键为空,如果为空,则插入,如果不为空,则从数据库
出一条,如果未取到,则插入一条,其他情况按照主键更新
|
protected boolean |
upsert(Object obj,
boolean template)
先判断是否主键为空,如果为空,则插入,如果不为空,则从数据库
取出一条,如果未取到,则插入一条,其他情况按照主键更新
|
boolean |
upsertByTemplate(Object obj)
先判断是否主键为空,如果为空,则插入,如果不为空,则从数据库
取出一条,如果未取到,则插入一条,其他情况按照主键更新
|
SQLErrorInfo |
validateSqlId(SqlId id) |
SQLManager |
viewType(Class view) |
assignAutoId, execute, execute, execute, executePageQuery, executeUpdate, forceDataSource, getMapperBuilder, getName, getPageSqlScript, getSqlManagerExtend, getSQLResult, isQueryLogicDeleteEnable, newBuilder, newBuilder, refresh, register, select, selectByIds, setMapperBuilder, setMetaDataManager, setName, setQueryLogicDeleteEnable, setSqlManagerExtend, stream, streamExecute, streamExecute, streamExecute, updateRawById, usepublic ConditionalSQLManager(SQLManager defaultSQLManager, Map<String,SQLManager> sqlManagerMap)
protected SQLManager decide(Class pojo)
pojo - protected SQLManager decide(SqlId sqlId)
public <T> LambdaQuery<T> lambdaQuery(Class<T> clazz)
lambdaQuery 在接口中 DataAPIlambdaQuery 在类中 SQLManagerpublic boolean isOffsetStartZero()
isOffsetStartZero 在类中 SQLManagerpublic boolean isProductMode()
isProductMode 在类中 SQLManagerpublic SQLResult getSQLResult(SqlId id, Object paras)
getSQLResult 在类中 SQLManagerid - paras - public SQLResult getSQLResult(SQLSource source, Object inputParas)
getSQLResult 在类中 SQLManagersource - inputParas - public SQLResult getSQLResult(SqlId id, Object paras, TemplateContext ctx)
getSQLResult 在类中 SQLManagerpublic SQLExecutor getScript(SqlId sqlId)
getScript 在类中 SQLManagersqlId - public boolean containSqlId(SqlId sqlId)
containSqlId 在类中 SQLManagerpublic SQLErrorInfo validateSqlId(SqlId id)
validateSqlId 在接口中 DataAPIvalidateSqlId 在类中 SQLManagerpublic SQLManager viewType(Class view)
viewType 在类中 SQLManagerpublic SQLManager resultSetMapper(Class resultSetMapperClass)
resultSetMapper 在类中 SQLManagerpublic SQLManager rowMapper(Class rowMapperClass)
rowMapper 在类中 SQLManagerpublic SQLExecutor getScript(Class<?> cls, AutoSQLEnum autoSQLEnum)
getScript 在类中 SQLManagercls - clzautoSQLEnum - ConstantEnumpublic <T> List<T> select(SqlId sqlId, Class<T> clazz, Object paras)
select 在接口中 DataAPIselect 在类中 SQLManagersqlId - sql标记clazz - 需要映射的Pojo类paras - Beanpublic <T> List<T> select(SqlId sqlId, Class<T> clazz)
select 在接口中 DataAPIselect 在类中 SQLManagersqlId - clazz - public <T> PageResult<T> pageQuery(SqlId sqlId, Class<T> clazz, Object paras, PageRequest request)
pageQuery 在接口中 DataAPIpageQuery 在类中 SQLManagerpublic <T> T unique(Class<T> clazz, Object pk)
unique 在接口中 DataAPIunique 在类中 SQLManagerclazz - pk - 主键public <T> T single(Class<T> clazz, Object pk)
single 在接口中 DataAPIsingle 在类中 SQLManagerclazz - pk - public <T> T lock(Class<T> clazz, Object pk)
lock 在接口中 DataAPIlock 在类中 SQLManagerclazz - pk - public <T> List<T> all(Class<T> clazz)
all 在接口中 DataAPIall 在类中 SQLManagerclazz - public <T> List<T> all(Class<T> clazz, Object start, Long pageSize)
all 在接口中 DataAPIall 在类中 SQLManagerpublic long allCount(Class<?> clazz)
allCount 在接口中 DataAPIallCount 在类中 SQLManagerclazz - public <T> T templateOne(T t)
templateOne 在接口中 DataAPItemplateOne 在类中 SQLManagerpublic <T> List<T> template(T t)
template 在接口中 DataAPItemplate 在类中 SQLManagerpublic <T> long templateCount(T t)
templateCount 在接口中 DataAPItemplateCount 在类中 SQLManagert - public <T> long templateCount(Class<T> target, Object paras)
templateCount 在类中 SQLManagerpublic Long longValue(SqlId id, Object paras)
longValue 在接口中 DataAPIlongValue 在类中 SQLManagerid - paras - public Integer intValue(SqlId id, Object paras)
intValue 在接口中 DataAPIintValue 在类中 SQLManagerid - paras - public BigDecimal bigDecimalValue(SqlId id, Object paras)
bigDecimalValue 在接口中 DataAPIbigDecimalValue 在类中 SQLManagerid - paras - public <T> T selectSingle(SqlId sqlId, Object paras, Class<T> target)
selectSingle 在接口中 DataAPIselectSingle 在类中 SQLManagersqlId - paras - target - public <T> T selectUnique(SqlId id, Object paras, Class<T> target)
selectUnique 在接口中 DataAPIselectUnique 在类中 SQLManagerid - paras - target - public int deleteById(Class<?> clazz, Object pkValue)
根据Id删除数据:支持联合主键
deleteById 在接口中 DataAPIdeleteById 在类中 SQLManagerclazz - pkValue - public int deleteObject(Object obj)
deleteObject 在接口中 DataAPIdeleteObject 在类中 SQLManagerobj - 对象,必须包含了主键,实际上根据主键来删除public int insert(Object paras)
insert 在接口中 DataAPIinsert 在类中 SQLManagerparas - public int insertTemplate(Object paras)
insertTemplate 在接口中 DataAPIinsertTemplate 在类中 SQLManagerparas - public int insert(Class clazz, Object paras)
insert 在接口中 DataAPIinsert 在类中 SQLManagerclazz - paras - public int insertTemplate(Class clazz, Object paras)
insertTemplate 在接口中 DataAPIinsertTemplate 在类中 SQLManagerclazz - paras - public boolean exist(Class<?> clazz, Object pk)
exist 在接口中 DataAPIexist 在类中 SQLManagerclazz - pk - 主健protected int generalInsert(Class clazz, Object paras, boolean template)
generalInsert 在类中 SQLManagerpublic int[] insertBatch(Class clazz, List<?> list)
insertBatch 在接口中 DataAPIinsertBatch 在类中 SQLManagerclazz - list - public int insert(SqlId sqlId, Object paras)
insert 在接口中 DataAPIinsert 在类中 SQLManagersqlId - paras - public Object[] insert(SqlId sqlId, Object paras, String[] cols)
insert 在接口中 DataAPIinsert 在类中 SQLManagersqlId - paras - cols,需要得到数据库自动生成的值 - public boolean upsert(Object obj)
upsert 在接口中 DataAPIupsert 在类中 SQLManagerobj - public boolean upsertByTemplate(Object obj)
upsertByTemplate 在接口中 DataAPIupsertByTemplate 在类中 SQLManagerobj - protected boolean upsert(Object obj, boolean template)
upsert 在类中 SQLManagerobj - 待更新/插入的实体对象template - public int updateById(Object obj)
updateById 在接口中 DataAPIupdateById 在类中 SQLManagerobj - public int updateTemplateById(Object obj)
updateTemplateById 在接口中 DataAPIupdateTemplateById 在类中 SQLManagerobj - public int updateTemplateById(Class c, Map paras)
updateTemplateById 在接口中 DataAPIupdateTemplateById 在类中 SQLManagerc - c对应的表名paras - 参数,仅仅更新paras里包含的值,paras里必须带有主键的值作为更新条件public int updateTemplateById(Class c, Object obj)
updateTemplateById 在接口中 DataAPIupdateTemplateById 在类中 SQLManagerc - obj - public int[] updateByIdBatch(List<?> list)
updateByIdBatch 在接口中 DataAPIupdateByIdBatch 在类中 SQLManagerlist - ,包含pojo(不支持map)public int update(SqlId sqlId, Object obj)
update 在接口中 DataAPIupdate 在类中 SQLManagersqlId - obj - public int update(SqlId sqlId)
update 在接口中 DataAPIupdate 在类中 SQLManagersqlId - public int update(SqlId sqlId, Map<String,Object> paras)
update 在接口中 DataAPIupdate 在类中 SQLManagersqlId - paras - public int[] updateBatch(SqlId sqlId, List<?> list)
updateBatch 在接口中 DataAPIupdateBatch 在类中 SQLManagersqlId - list - public int[] updateBatchTemplateById(Class clz, List<?> list)
updateBatchTemplateById 在接口中 DataAPIupdateBatchTemplateById 在类中 SQLManagerclz - list - public int updateAll(Class<?> clazz, Object param)
updateAll 在接口中 DataAPIupdateAll 在类中 SQLManagerclazz - param - 参数public <T> List<T> execute(String sqlTemplate, Class<T> clazz, Object paras)
execute 在接口中 DataAPIexecute 在类中 SQLManagersqlTemplate - clazz - paras - public TableDesc getTableDesc(String table)
getTableDesc 在类中 SQLManagerpublic ClassDesc getClassDesc(Class target)
getClassDesc 在类中 SQLManagerpublic <T> List<T> execute(String sqlTemplate, Class<T> clazz, Object paras, long start, long size)
sqlTemplate - clazz - paras - start - size - public <T> PageResult<T> executePageQuery(String sqlTemplate, Class<T> clazz, Object paras, PageRequest<T> request)
executePageQuery 在接口中 DataAPIexecutePageQuery 在类中 SQLManagersqlTemplate - select #page(*)# from user where name=#userName# ....clazz - request - public int executeUpdate(String sqlTemplate, Object paras)
executeUpdate 在接口中 DataAPIexecuteUpdate 在类中 SQLManagersqlTemplate - paras - public <T> List<T> execute(SQLReady p, Class<T> clazz)
execute 在接口中 DataAPIexecute 在类中 SQLManagerclazz - p - public <T> T executeQueryOne(SQLReady p, Class<T> clazz)
executeQueryOne 在接口中 DataAPIexecuteQueryOne 在类中 SQLManagerpublic <T> PageResult<T> execute(SQLReady p, Class<T> clazz, PageRequest<T> pageRequest)
execute 在接口中 DataAPIexecute 在类中 SQLManagerT - p - clazz - pageRequest - public int executeUpdate(SQLReady p)
executeUpdate 在接口中 DataAPIexecuteUpdate 在类中 SQLManagerp - public int[] executeBatchUpdate(SQLBatchReady batch)
executeBatchUpdate 在接口中 DataAPIexecuteBatchUpdate 在类中 SQLManagerpublic <T> T executeOnConnection(OnConnection<T> onConnection)
executeOnConnection 在类中 SQLManageronConnection - public SQLLoader getSqlLoader()
getSqlLoader 在类中 SQLManagerpublic void setSqlLoader(SQLLoader sqlLoader)
setSqlLoader 在类中 SQLManagerpublic ConnectionSource getDs()
getDs 在类中 SQLManagerpublic void setDs(ConnectionSource ds)
SQLManagersetDs 在类中 SQLManagerpublic NameConversion getNc()
getNc 在类中 SQLManagerpublic void setNc(NameConversion nc)
SQLManagersetNc 在类中 SQLManagerpublic DBStyle getDbStyle()
getDbStyle 在类中 SQLManagerpublic SQLTemplateEngine getSqlTemplateEngine()
getSqlTemplateEngine 在类中 SQLManagerpublic MetadataManager getMetaDataManager()
getMetaDataManager 在类中 SQLManagerpublic Interceptor[] getInters()
getInters 在类中 SQLManagerpublic void setInters(Interceptor[] inters)
setInters 在类中 SQLManagerinters - public void addIdAutoGen(String name, IDAutoGen alorithm)
addIdAutoGen 在类中 SQLManagername - alorithm - protected Object getAssignIdByIdAutoGen(String name, String param, String table)
getAssignIdByIdAutoGen 在类中 SQLManagername - param - public Map<String,BeanProcessor> getProcessors()
getProcessors 在类中 SQLManagerpublic void setProcessors(Map<String,BeanProcessor> processors)
SQLManagersetProcessors 在类中 SQLManagerpublic BeanProcessor getDefaultBeanProcessors()
getDefaultBeanProcessors 在类中 SQLManagerpublic void setDefaultBeanProcessors(BeanProcessor defaultBeanProcessors)
setDefaultBeanProcessors 在类中 SQLManagerdefaultBeanProcessors - public <T> T getMapper(Class<T> mapperInterface)
getMapper 在类中 SQLManagerpublic ClassLoaderKit getClassLoaderKit()
getClassLoaderKit 在类中 SQLManagerpublic void setClassLoaderKit(ClassLoaderKit classLoaderKit)
setClassLoaderKit 在类中 SQLManagerclassLoaderKit - public void addVirtualTable(String realTable, String virtualTable)
addVirtualTable 在类中 SQLManagervirtualTable - realTable - public void setDbStyle(DBStyle dbStyle)
setDbStyle 在类中 SQLManagerpublic void setMetaDataManager(SchemaMetadataManager metaDataManager)
public SqlIdFactory getSqlIdFactory()
getSqlIdFactory 在类中 SQLManagerpublic void setSqlIdFactory(SqlIdFactory sqlIdFactory)
setSqlIdFactory 在类中 SQLManagerpublic String getCharset()
getCharset 在类中 SQLManagerpublic void setCharset(String charset)
setCharset 在类中 SQLManagerpublic boolean isProduct()
isProduct 在类中 SQLManagerpublic void setProduct(boolean product)
setProduct 在类中 SQLManagerpublic void setSQLTemplateEngine(SQLTemplateEngine sqlTemplateEngine)
setSQLTemplateEngine 在类中 SQLManagerpublic void setConditional(ConditionalSQLManager.Conditional conditional)
Copyright © 2022. All rights reserved.