| 程序包 | 说明 |
|---|---|
| org.beetl.sql.core | |
| org.beetl.sql.core.engine | |
| org.beetl.sql.core.engine.template | |
| org.beetl.sql.core.loader | |
| org.beetl.sql.core.mapping.type | |
| org.beetl.sql.ext |
| 限定符和类型 | 字段和说明 |
|---|---|
SqlId |
SQLSource.id |
SqlId |
ExecuteContext.sqlId
sqlId
|
| 限定符和类型 | 方法和说明 |
|---|---|
SqlId |
SqlIdFactory.buildIdentity(Class entity,
AutoSQLEnum autoSQLEnum) |
SqlId |
SqlIdFactory.buildSql(String sql) |
SqlId |
SqlIdFactory.buildTemplate(String template) |
protected SqlId |
SqlId.clone() |
SqlId |
SqlIdFactory.createId(Class entity,
String id) |
SqlId |
SQLSource.getId() |
static SqlId |
SqlId.of(String sqlId)
从一个字符串的sqlId解析得出Identity,通常这个是在sql template 里使用,比如#globalUse("common.whereCondition")#
|
static SqlId |
SqlId.of(String namespace,
String id) |
SqlId |
SqlId.sibling(String id)
创建一个在同一命名空间下的SqlId
|
SqlId |
SqlId.toCount() |
SqlId |
SqlId.toPage() |
SqlId |
SqlId.toRange() |
SqlId |
SqlId.toView(Class viewType) |
| 限定符和类型 | 方法和说明 |
|---|---|
BigDecimal |
SQLManager.bigDecimalValue(SqlId id,
Object paras)
将查询结果返回成BigDecimal类型
|
BigDecimal |
ThreadLocalSQLManager.bigDecimalValue(SqlId id,
Object paras)
将查询结果返回成BigDecimal类型
|
BigDecimal |
ConditionalSQLManager.bigDecimalValue(SqlId id,
Object paras)
将查询结果返回成BigDecimal类型
|
BigDecimal |
DataAPI.bigDecimalValue(SqlId id,
Object paras) |
boolean |
SQLManager.containSqlId(SqlId sqlId) |
boolean |
ThreadLocalSQLManager.containSqlId(SqlId sqlId) |
boolean |
ConditionalSQLManager.containSqlId(SqlId sqlId) |
protected SQLManager |
ConditionalSQLManager.decide(SqlId sqlId) |
<T> List<T> |
SQLManager.execute(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object paras)
直接执行语句,sql是模板 提供sqlId
|
<T> List<T> |
DataAPI.execute(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object paras) |
<T> List<T> |
SQLManager.execute(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object paras,
Object start,
long size) |
<T> List<T> |
DataAPI.execute(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object paras,
Object start,
long size) |
<T> PageResult<T> |
SQLManager.executePageQuery(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object paras,
PageRequest<T> request) |
<T> PageResult<T> |
DataAPI.executePageQuery(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object paras,
PageRequest<T> request) |
int |
SQLManager.executeUpdate(SqlId sqlId,
String sqlTemplate,
Object paras) |
int |
DataAPI.executeUpdate(SqlId sqlId,
String sqlTemplate,
Object paras) |
protected SQLExecutor |
SQLManager.getPageSqlScript(Class mapping,
SqlId selectId)
获取为分页语句
|
SQLExecutor |
SQLManager.getScript(SqlId sqlId)
得到指定sqlId的sqlscript对象
|
SQLExecutor |
ThreadLocalSQLManager.getScript(SqlId sqlId)
得到指定sqlId的sqlscript对象
|
SQLExecutor |
ConditionalSQLManager.getScript(SqlId sqlId)
得到指定sqlId的sqlscript对象
|
SQLResult |
SQLManager.getSQLResult(SqlId id,
Object paras)
不执行数据库操作,仅仅得到一个sql模板执行后的实际得sql和相应的参数
|
SQLResult |
ThreadLocalSQLManager.getSQLResult(SqlId id,
Object paras)
不执行数据库操作,仅仅得到一个sql模板执行后的实际得sql和相应的参数
|
SQLResult |
ConditionalSQLManager.getSQLResult(SqlId id,
Object paras)
不执行数据库操作,仅仅得到一个sql模板执行后的实际得sql和相应的参数
|
SQLResult |
SQLManager.getSQLResult(SqlId id,
Object paras,
boolean isUpdate) |
SQLResult |
SQLManager.getSQLResult(SqlId id,
Object paras,
TemplateContext ctx) |
SQLResult |
ThreadLocalSQLManager.getSQLResult(SqlId id,
Object paras,
TemplateContext ctx) |
SQLResult |
ConditionalSQLManager.getSQLResult(SqlId id,
Object paras,
TemplateContext ctx) |
int |
SQLManager.insert(SqlId sqlId,
Object paras)
插入,并获取主键,主键将通过paras所代表的表名来获取
|
int |
ThreadLocalSQLManager.insert(SqlId sqlId,
Object paras)
插入,并获取主键,主键将通过paras所代表的表名来获取
|
int |
ConditionalSQLManager.insert(SqlId sqlId,
Object paras)
插入,并获取主键,主键将通过paras所代表的表名来获取
|
int |
DataAPI.insert(SqlId sqlId,
Object paras) |
Object[] |
SQLManager.insert(SqlId sqlId,
Object paras,
String[] cols)
插入单条,并获取自增主键值,因为此接口并未指定实体对象,因此需要keyName来指明数据库主键列
对于一次插入多条,不支持TODO,需要试一下
|
Object[] |
ThreadLocalSQLManager.insert(SqlId sqlId,
Object paras,
String[] cols)
插入单条,并获取自增主键值,因为此接口并未指定实体对象,因此需要keyName来指明数据库主键列
对于一次插入多条,不支持TODO,需要试一下
|
Object[] |
ConditionalSQLManager.insert(SqlId sqlId,
Object paras,
String[] cols)
插入单条,并获取自增主键值,因为此接口并未指定实体对象,因此需要keyName来指明数据库主键列
对于一次插入多条,不支持TODO,需要试一下
|
Object[] |
DataAPI.insert(SqlId sqlId,
Object paras,
String[] cols) |
Integer |
SQLManager.intValue(SqlId id,
Object paras)
将查询结果返回成Integer类型
|
Integer |
ThreadLocalSQLManager.intValue(SqlId id,
Object paras)
将查询结果返回成Integer类型
|
Integer |
ConditionalSQLManager.intValue(SqlId id,
Object paras)
将查询结果返回成Integer类型
|
Integer |
DataAPI.intValue(SqlId id,
Object paras) |
Long |
SQLManager.longValue(SqlId id,
Object paras)
将查询结果返回成Long类型
|
Long |
ThreadLocalSQLManager.longValue(SqlId id,
Object paras)
将查询结果返回成Long类型
|
Long |
ConditionalSQLManager.longValue(SqlId id,
Object paras)
将查询结果返回成Long类型
|
Long |
DataAPI.longValue(SqlId id,
Object paras) |
<T> PageResult<T> |
SQLManager.pageQuery(SqlId sqlId,
Class<T> clazz,
Object paras,
PageRequest request) |
<T> PageResult<T> |
ThreadLocalSQLManager.pageQuery(SqlId sqlId,
Class<T> clazz,
Object paras,
PageRequest request) |
<T> PageResult<T> |
ConditionalSQLManager.pageQuery(SqlId sqlId,
Class<T> clazz,
Object paras,
PageRequest request) |
<T> PageResult<T> |
DataAPI.pageQuery(SqlId sqlId,
Class<T> clazz,
Object paras,
PageRequest request) |
<T> List<T> |
SQLManager.select(SqlId sqlId,
Class<T> clazz)
根据sqlId查询目标对象
|
<T> List<T> |
ThreadLocalSQLManager.select(SqlId sqlId,
Class<T> clazz)
根据sqlId查询目标对象
|
<T> List<T> |
ConditionalSQLManager.select(SqlId sqlId,
Class<T> clazz)
根据sqlId查询目标对象
|
<T> List<T> |
DataAPI.select(SqlId sqlId,
Class<T> clazz) |
<T> List<T> |
SQLManager.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> |
ThreadLocalSQLManager.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> |
ConditionalSQLManager.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> |
DataAPI.select(SqlId sqlId,
Class<T> clazz,
Object paras) |
<T> List<T> |
ThreadLocalSQLManager.select(SqlId sqlId,
Object paras,
Class<T> clazz,
long start,
long size) |
<T> List<T> |
ConditionalSQLManager.select(SqlId sqlId,
Object paras,
Class<T> clazz,
long start,
long size) |
<T> List<T> |
SQLManager.select(SqlId sqlId,
Object paras,
Class<T> clazz,
Object start,
long size) |
<T> List<T> |
DataAPI.select(SqlId sqlId,
Object paras,
Class<T> clazz,
Object start,
long size) |
<T> T |
SQLManager.selectSingle(SqlId sqlId,
Object paras,
Class<T> target)
返回查询的第一行数据,如果有未找到,返回null
|
<T> T |
ThreadLocalSQLManager.selectSingle(SqlId sqlId,
Object paras,
Class<T> target)
返回查询的第一行数据,如果有未找到,返回null
|
<T> T |
ConditionalSQLManager.selectSingle(SqlId sqlId,
Object paras,
Class<T> target)
返回查询的第一行数据,如果有未找到,返回null
|
<T> T |
DataAPI.selectSingle(SqlId sqlId,
Object paras,
Class<T> target) |
<T> T |
SQLManager.selectUnique(SqlId id,
Object paras,
Class<T> target)
返回一行数据,如果有多行或者未找到,抛错
|
<T> T |
ThreadLocalSQLManager.selectUnique(SqlId id,
Object paras,
Class<T> target)
返回一行数据,如果有多行或者未找到,抛错
|
<T> T |
ConditionalSQLManager.selectUnique(SqlId id,
Object paras,
Class<T> target)
返回一行数据,如果有多行或者未找到,抛错
|
<T> T |
DataAPI.selectUnique(SqlId id,
Object paras,
Class<T> target) |
void |
SQLSource.setId(SqlId id) |
<T> StreamData<T> |
SQLManager.stream(SqlId sqlId,
Class<T> clazz,
Object paras) |
<T> StreamData<T> |
DataAPI.stream(SqlId sqlId,
Class<T> clazz,
Object paras) |
<T> StreamData<T> |
SQLManager.streamExecute(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object para) |
<T> StreamData<T> |
DataAPI.streamExecute(SqlId sqlId,
String sqlTemplate,
Class<T> clazz,
Object para) |
int |
SQLManager.update(SqlId sqlId)
执行sql更新(或者删除)操作
|
int |
ThreadLocalSQLManager.update(SqlId sqlId)
执行sql更新(或者删除)操作
|
int |
ConditionalSQLManager.update(SqlId sqlId)
执行sql更新(或者删除)操作
|
int |
DataAPI.update(SqlId sqlId) |
int |
SQLManager.update(SqlId sqlId,
Map<String,Object> paras)
执行sql更新(或者删除语句)
|
int |
ThreadLocalSQLManager.update(SqlId sqlId,
Map<String,Object> paras)
执行sql更新(或者删除语句)
|
int |
ConditionalSQLManager.update(SqlId sqlId,
Map<String,Object> paras)
执行sql更新(或者删除语句)
|
int |
DataAPI.update(SqlId sqlId,
Map<String,Object> paras) |
int |
SQLManager.update(SqlId sqlId,
Object obj)
执行sql更新(或者删除)操作
|
int |
ThreadLocalSQLManager.update(SqlId sqlId,
Object obj)
执行sql更新(或者删除)操作
|
int |
ConditionalSQLManager.update(SqlId sqlId,
Object obj)
执行sql更新(或者删除)操作
|
int |
DataAPI.update(SqlId sqlId,
Object obj) |
int[] |
SQLManager.updateBatch(SqlId sqlId,
List<?> list)
对pojo批量更新执行sql更新语句,list包含的对象是作为参数,所有属性参与更新
|
int[] |
ThreadLocalSQLManager.updateBatch(SqlId sqlId,
List<?> list)
对pojo批量更新执行sql更新语句,list包含的对象是作为参数,所有属性参与更新
|
int[] |
ConditionalSQLManager.updateBatch(SqlId sqlId,
List<?> list)
对pojo批量更新执行sql更新语句,list包含的对象是作为参数,所有属性参与更新
|
int[] |
DataAPI.updateBatch(SqlId sqlId,
List<?> list) |
SQLErrorInfo |
SQLManager.validateSqlId(SqlId id) |
SQLErrorInfo |
ThreadLocalSQLManager.validateSqlId(SqlId id) |
SQLErrorInfo |
ConditionalSQLManager.validateSqlId(SqlId id) |
SQLErrorInfo |
DataAPI.validateSqlId(SqlId id) |
| 构造器和说明 |
|---|
SQLBatchReady(SqlId sqlId,
String sql,
List<Object[]> args) |
SQLReady(SqlId sqlId,
String sql,
Object... args) |
SQLSource(SqlId id,
String template) |
| 限定符和类型 | 方法和说明 |
|---|---|
SqlId |
StringSqlTemplateLoader.getResourceId(org.beetl.core.Resource resource,
SqlId key) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
StringSqlTemplateLoader.exist(SqlId key) |
org.beetl.core.Resource |
StringSqlTemplateLoader.getResource(SqlId id) |
SqlId |
StringSqlTemplateLoader.getResourceId(org.beetl.core.Resource resource,
SqlId key) |
| 构造器和说明 |
|---|
SqlTemplateResource(SqlId id,
org.beetl.core.ResourceLoader loader) |
| 限定符和类型 | 方法和说明 |
|---|---|
SQLTemplate |
BeetlTemplateEngine.getSqlTemplate(SqlId id) |
SQLTemplate |
SQLTemplateEngine.getSqlTemplate(SqlId id)
根据sqlId得到模板
|
SQLTemplate |
BeetlTemplateEngine.getSqlTemplate(SqlId id,
TemplateContext parent) |
default SQLTemplate |
SQLTemplateEngine.getSqlTemplate(SqlId id,
TemplateContext parent)
模板渲染使用了include,包含别的sql片段
|
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<SqlId,SQLSource> |
AbstractSQLLoader.autoGenSourceMap
存放自动生成,或者用户提供的sql
|
protected Map<SqlId,SQLSource> |
MarkdownClasspathLoader.sqlSourceMap
外部sql缓存
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
SQLLoader.addSQL(SqlId id,
SQLSource source)
新增一个指定标识的SQL资源
|
void |
AbstractSQLLoader.addSQL(SqlId id,
SQLSource source) |
boolean |
SQLLoader.exist(SqlId id)
判断一个sql是否存在
|
boolean |
AbstractSQLLoader.exist(SqlId id) |
boolean |
MarkdownClasspathLoader.existExternalSource(SqlId id) |
abstract boolean |
AbstractSQLLoader.existExternalSource(SqlId id) |
boolean |
MarkdownClasspathLoader.existNamespace(SqlId id) |
boolean |
SQLLoader.existNamespace(SqlId id)
检测是否存在sqlId的namespace,如文件
|
protected URL |
MarkdownClasspathLoader.getDBRootFile(SqlId id) |
BeetlSQLException |
AbstractClassPathSQLLoader.getException(SqlId sqlId) |
BeetlSQLException |
SQLLoader.getException(SqlId id) |
protected URL |
MarkdownClasspathLoader.getFilePath(String root,
SqlId id) |
String |
SQLLoader.getPathBySqlId(SqlId id)
返回
SqlId 表示的SQL资源路径 |
String |
AbstractSQLLoader.getPathBySqlId(SqlId id) |
protected URL |
MarkdownClasspathLoader.getRootFile(SqlId id)
获取.md文件
md文件需放在classpath下
|
boolean |
MarkdownClasspathLoader.isExternalSourceModified(SqlId id)
比较sql是否变化,比较sql所在的文件是否变化,如果变化,则认为sql变化,提示beetl重新解析sql语句
|
abstract boolean |
AbstractSQLLoader.isExternalSourceModified(SqlId id) |
boolean |
SQLLoader.isModified(SqlId id)
判断一个sql是否修改过
|
boolean |
AbstractSQLLoader.isModified(SqlId id) |
protected void |
MarkdownClasspathLoader.loadFromClassPath(SqlId id)
考虑到跨数据库支持,ClasspathLoader加载SQL顺序如下:
首先根据DBStyle.getName() 找到对应的数据库名称,然后在ROOT/dbName 下找对应的sql,
如果ROOT/dbName 文件目录不存在,或者相应的sql文件不存在,再搜索ROOT目录下的sql文件。
|
SQLSource |
SQLLoader.queryAutoSQL(SqlId id)
查询自动生成,或者Java提供的Sql
|
SQLSource |
AbstractSQLLoader.queryAutoSQL(SqlId id) |
SQLSource |
MarkdownClasspathLoader.queryExternalSource(SqlId id) |
abstract SQLSource |
AbstractSQLLoader.queryExternalSource(SqlId id) |
SQLSource |
SQLLoader.querySQL(SqlId id)
从缓存中取得SQLSource,抛出错误 BeetlSQLException.CANNOT_GET_SQL
|
SQLSource |
AbstractSQLLoader.querySQL(SqlId id)
sqlId不存在,抛出一个具体错误异常
|
protected void |
MarkdownClasspathLoader.readSqlFile(SqlId sqlId,
URL url,
boolean isRoot) |
void |
MarkdownClasspathLoader.removeExternalSource(SqlId id) |
abstract void |
AbstractSQLLoader.removeExternalSource(SqlId id) |
| 限定符和类型 | 字段和说明 |
|---|---|
SqlId |
ReadTypeParameter.sqlId |
| 构造器和说明 |
|---|
ReadTypeParameter(SqlId sqlId,
String dbName,
Class target,
ResultSet rs,
ResultSetMetaData meta,
int index,
ExecuteContext executeContext) |
WriteTypeParameter(SqlId sqlId,
String dbName,
int dbType,
Class target,
PreparedStatement ps,
int index,
ExecuteContext executeContext) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Object |
SimpleCacheInterceptor.getCacheKey(SqlId sqlId,
List<SQLParameter> paras) |
protected boolean |
TimeStatInterceptor.include(SqlId id) |
boolean |
TimeStatInterceptor.Filter.isAccept(SqlId id) |
protected boolean |
DebugInterceptor.isDebugEnable(SqlId sqlId) |
protected boolean |
DebugInterceptor.isSimple(SqlId sqlId) |
protected boolean |
SimpleDebugInterceptor.isSimple(SqlId sqlId) |
| 构造器和说明 |
|---|
CacheKey(SqlId sqlId,
List paras) |
Copyright © 2022. All rights reserved.