| 接口 | 说明 |
|---|---|
| ConditionalConnectionSource.Policy | |
| ConditionalSQLManager.Conditional | |
| ConnectionSource |
Beetlsql 使用ConnectionSource管理 数据库连接。
|
| DataAPI |
操作数据的api,未来考虑都为非JDBC提供统一一个接口
|
| IDAutoGen<T> |
id自动生成
|
| Interceptor |
在
BaseSQLExecutor 执行SQL时的环绕拦截器 |
| LazyEntity | |
| MapperBuilder |
定义获取Mapper实现的接口,这样可以很容易的更换实现.
|
| SQLExecutor |
数据库和非数据库 调用api
|
| Tail |
可以设置pojo的额外属性和关系映射,需要主要的是,value有可能是LazyEntity,因此在实现get方法的时候,必须判断
是否是LazyEnity。
|
| 类 | 说明 |
|---|---|
| BaseSQLExecutor |
面向传统数据库的 sql 执行引擎
|
| BaseSQLExecutor.ResultSetHolder | |
| BaseSQLExecutor.ResultUpdateHolder | |
| BaseStatementOnlySQLExecutor |
对于某些jdbc只支持Statement,不支持PreparedStatement
|
| ConditionalConnectionSource |
这常用分库,多个数据源的代理,根据
ConditionalConnectionSource.Policy决定使用哪个数据救援。 |
| ConditionalSQLManager |
根据sqlManager操作的pojo的class定义来决定使用哪个SQLManager
比如,物联网应用,时序数据可以入mysql库,随着数据增多,可以考虑到用时nosql,而不需要更改任何代码
|
| ConditionalSQLManager.DefaultConditional | |
| ConnectionSourceHelper |
一个简单的用来生成ConnectionSource的类
|
| DBRunner<T> |
ConnectionSource提供了路由规则,一般而已,更新走主库,查询走从库。
|
| DBRunner.EachSlaveDbRunner |
遍历所有slave,并执行
|
| DBRunner.MasterDBRunner<T> |
强制使用主数据源
|
| DBRunner.SlaveDBRunner<T> |
强制使用第一个从库
|
| DefaultConnectionSource |
一个默认的,框架只需要提供
DataSource既可以集成到beetlsql里 |
| DefaultNameConversion |
数据库命名完全按照java风格来,比如,数据库
表 SysUser,对应类SysUser,列userId,对应属性userId
|
| DSTransactionManager |
在有框架的情况下,推荐使用框架的事务管理,这个类只能作为无事务管理框架的时候采用
可以管理单个,多个数据源事物,但并不是分布式事物管理器
不能保证事务统一,只能尽量。
|
| ExecuteContext |
beetlsql的上下文,任何插件都可以获得sql的执行情况,sql的执行结果
|
| InterceptorContext |
拦截器上下文,包括一个在上下文中存储信息的Map与执行上下文
ExecuteContext |
| OnConnection<T> |
直接获得Connecton,通常用于存储过程等beetlsql不支持的地方,需要注意,参数Connection 不要关闭,应该交给Beetlsql 协调框架,让
框架负责关闭Connection
|
| OrderByBuilder |
一个生成排序语句的工具类,相比于直接提供字符串,这个更适合重构,以及防止sql注入
|
| OrderByBuilder.User | |
| Params |
辅助生成Map
Map paras = Params.ins().add("name",name).map()
User query = ...
|
| QueryConfig |
每次查询的相关配置信息
|
| QuerySQLExecutor |
用于查询引擎,只支持查询
|
| SQLBatchReady |
JDBC 批量更新或者插入接口
|
| SqlId |
sqlId标识,通过namespace,id,type来区分每个sql资源
|
| SqlIdFactory |
得到一个SqlId,可以自定义
|
| SQLManager |
Beetsql 操作入口
|
| SQLManagerBuilder |
SQLManager 构建器: 为了简化SQLManager的构建过程
使用:
ConnectionSource ds = ConnectionSourceHelper.getSimple(driver, url, userName, password);
SQLManagerBuilder smBuilder = SQLManager.newBuilder(ds);
SQLManager sm = smBuilder.build();
如果在构建器中没有进行任何配置, 那么使用的默认值是:
属性名 : 默认值
dbStyle : new MySqlStyle();
sqlLoader : new MarkdownClasspathLoader()
nc : new DefaultNameConversion()
inters : new Interceptor[]{}
defaultSchema : null
beetlPs : new Properties()
create time : 2017-04-28 14:44 |
| SQLManagerExtend |
一些常见的扩展类
|
| SQLPart |
用于弥补基于模板更新不足,用来添加基于额外的更新和插入值,如一对一关系
|
| SQLReady |
封装了jdbc 和参数。
|
| SQLResult |
SQL模板 执行结果
|
| SQLSource | |
| SQLTableSource |
内置的SQLSource,如CRUD
|
| TailBean |
使用此可以用于模板引擎,如果对于序列化,所有值都在getTails方法里,TailBean兼容了对LazyEnity的调用
|
| UnderlinedNameConversion |
下划线命名转换
数据库 Sys_User,对应类SysUser,列user_Id,对应属性userId
|
Copyright © 2021. All rights reserved.