-
- All Implemented Interfaces:
-
database.DataBase
public abstract class DataBaseImpl implements DataBase
数据库交互抽象类
-
-
Field Summary
Fields Modifier and Type Field Description private final DBdbprivate final BooleanisTransaction
-
Constructor Summary
Constructors Constructor Description DataBaseImpl()
-
Method Summary
Modifier and Type Method Description abstract DBgetDb()abstract BooleangetIsTransaction()Selectselect(String columns)创建一个select查询 例如:db. Selectselect(Query query)创建一个select查询 例如:db select count() Selectselect(List<Query> query)创建一个select查询 例如:db select listOf(count(), sum("c1")) Selectselect(Query query)创建一个select查询 例如:db. Selectselect()创建一个select查询 例如:db. Selectfrom(String table)创建一个select查询 Selectfrom(TableSchema table)创建一个select查询 NativeSelectnativeSelect(String sql, Object arg)创建一个原生sql查询 例如:db.nativeSelect("select * from t1 where c1 = ? WithSelectwith()创建一个with查询 ValuesSelectvalues(List<Object> value)创建一个values查询 final <T extends Any> Tfind(Object primaryKey)按主键查询一行数据 例如:db. final <T extends Any> Tfind(List<Pair<String, Object>> primaryKeys)按主键查询一行数据(用于联合主键的表) 例如:db. final <T extends Any> Tfind(Map<String, Object> primaryKeys)按主键查询一行数据(用于联合主键的表) 例如:db. final <T extends Any> List<T>queryAll()查询整表结果 例如:db. final <T extends Any> Page<T>page(Integer pageSize, Integer pageNumber, Boolean needCount)分页查询 例如:db. final <T extends Any> LongfetchCount()获取总数 例如:db. final <T extends Any> List<T>firstPage(OrderBy sort, Integer pageSize)获取首页 例如:db. final <T extends Any> List<T>lastPage(OrderBy sort, Integer pageSize)获取尾页 例如:db. final <T extends Any> List<T>previousPage(OrderBy sort, Object value, Integer pageSize)获取上一页 例如:db. final <T extends Any> List<T>nextPage(OrderBy sort, Object value, Integer pageSize)获取下一页 例如:db. final Updateupdate(String table)创建一个更新操作 例如:db update "t1" final Updateupdate(TableSchema table)创建一个更新操作 例如:db update Table final Integerupdate(Object entity)按主键更新其他字段的值(空字段会被忽略) 例如:db update entity final NativeInsertinsert(String table)创建一个无实体类的插入操作 例如:db insert "t1" final Insertinsert(TableSchema table)创建一个实体类的插入操作 例如:db insert Table final Integerinsert(Object entity)插入实体数据(自增主键会被忽略) 例如:db insert entity final Integerinsert(List<Object> entity)批量插入实体数据(自增主键会被忽略) 例如:db insert listOf(entity1, entity2) final Integersave(Object entity)按实体数据中的主键字段决定插入或更新 例如:db save entity final Deletedelete(String table)创建一个删除操作 例如:db delete "t1" final Deletedelete(TableSchema table)创建一个删除操作 例如:db delete Table final Integerdelete(Object entity)按传入实体类的主键字段删除数据 例如:db delete entity final <T extends Any> IntegerdeleteById(Object primaryKey)按主键删除数据 例如:db. final <T extends Any> Integerdelete(List<Pair<String, Object>> primaryKeys)按主键删除数据(用于联合主键的表) 例如:db. final <T extends Any> Integerdelete(Map<String, Object> primaryKeys)按主键删除数据(用于联合主键的表) 例如:db. final Truncatetruncate(String table)创建一个清空操作 例如:db truncate "t1" final Truncatetruncate(TableSchema table)创建一个清空操作 例如:db truncate Table final DropTabledropTable(String table)创建一个删表操作 例如:db dropTable "t1" final DropIndexdropIndex(String indexName)创建一个删索引操作 例如:db dropIndex "idx1" final CreateTablecreateTable(String table)创建一个建表操作 例如:db createTable "t1" final CreateIndexcreateIndex(String indexName)创建一个建索引操作 例如:db createIndex "t1" final CreateIndexcreateUniqueIndex(String indexName)创建一个建唯一索引的操作 例如:db createUniqueIndex "t1" -
-
Method Detail
-
getIsTransaction
abstract Boolean getIsTransaction()
-
select
Select select(String columns)
创建一个select查询 例如:db.select("c1", "c2")
- Parameters:
columns- Array<out String> 字段名列表
-
select
Select select(List<Query> query)
创建一个select查询 例如:db select listOf(count(), sum("c1"))
- Parameters:
query- List<Query> 查询表达式列表
-
select
Select select(Query query)
创建一个select查询 例如:db.select(count(), sum("c1"))
- Parameters:
query- Array<out Query> 查询表达式列表
-
from
Select from(TableSchema table)
创建一个select查询
- Parameters:
table- TableSchema 实体类伴生对象名
-
nativeSelect
NativeSelect nativeSelect(String sql, Object arg)
创建一个原生sql查询 例如:db.nativeSelect("select * from t1 where c1 = ?", 1)
- Parameters:
sql- String 查询sql语句arg- Array<out Any> 查询参数列表(可省略),查询语句中的?
-
with
WithSelect with()
创建一个with查询
-
values
ValuesSelect values(List<Object> value)
创建一个values查询
- Parameters:
value- Array<out List<Any>> value列表
-
find
final <T extends Any> T find(Object primaryKey)
按主键查询一行数据 例如:db.find<Table>(1)
- Parameters:
primaryKey- Any 表主键的值
-
find
final <T extends Any> T find(List<Pair<String, Object>> primaryKeys)
按主键查询一行数据(用于联合主键的表) 例如:db.find<Table>(listOf("c1" to 1, "c2" to 2))
- Parameters:
primaryKeys- List<Pair<String, Any>> 表主键字段名和对应值的列表
-
find
final <T extends Any> T find(Map<String, Object> primaryKeys)
按主键查询一行数据(用于联合主键的表) 例如:db.find<Table>(mapOf("c1" to 1, "c2" to 2))
- Parameters:
primaryKeys- Map<String, Any> 表主键字段名和对应值的列表
-
page
final <T extends Any> Page<T> page(Integer pageSize, Integer pageNumber, Boolean needCount)
分页查询 例如:db.page<Table>(10, 1, false)
- Parameters:
pageSize- Int 一页的条数pageNumber- Int 页数needCount- Boolean 是否需要查询COUNT(*),可省略,默认为true
-
fetchCount
final <T extends Any> Long fetchCount()
获取总数 例如:db.fetchCount<Table>()
-
firstPage
final <T extends Any> List<T> firstPage(OrderBy sort, Integer pageSize)
获取首页 例如:db.firstPage<Table>(Table.c1.asc(), 10)
- Parameters:
sort- OrderBy 字段的排序规则pageSize- Int 一页的条数
-
lastPage
final <T extends Any> List<T> lastPage(OrderBy sort, Integer pageSize)
获取尾页 例如:db.lastPage<Table>(Table.c1.asc(), 10)
- Parameters:
sort- OrderBy 字段的排序规则pageSize- Int 一页的条数
-
previousPage
final <T extends Any> List<T> previousPage(OrderBy sort, Object value, Integer pageSize)
获取上一页 例如:db.previousPage<Table>(Table.c1.asc(), 11, 10)
- Parameters:
sort- OrderBy 字段的排序规则value- Any 当前页第一条数据中,排序字段的值pageSize- Int 一页的条数
-
nextPage
final <T extends Any> List<T> nextPage(OrderBy sort, Object value, Integer pageSize)
获取下一页 例如:db.previousPage<Table>(Table.c1.asc(), 10, 10)
- Parameters:
sort- OrderBy 字段的排序规则value- Any 当前页最后一条数据中,排序字段的值pageSize- Int 一页的条数
-
update
final Update update(TableSchema table)
创建一个更新操作 例如:db update Table
- Parameters:
table- TableSchema 实体类伴生对象名
-
update
final Integer update(Object entity)
按主键更新其他字段的值(空字段会被忽略) 例如:db update entity
- Parameters:
entity- Any 实体对象
-
insert
final NativeInsert insert(String table)
创建一个无实体类的插入操作 例如:db insert "t1"
- Parameters:
table- String 表名
-
insert
final Insert insert(TableSchema table)
创建一个实体类的插入操作 例如:db insert Table
- Parameters:
table- TableSchema 实体类伴生对象名
-
insert
final Integer insert(Object entity)
插入实体数据(自增主键会被忽略) 例如:db insert entity
- Parameters:
entity- Any 实体对象
-
insert
final Integer insert(List<Object> entity)
批量插入实体数据(自增主键会被忽略) 例如:db insert listOf(entity1, entity2)
- Parameters:
entity- List<Any> 实体对象列表
-
save
final Integer save(Object entity)
按实体数据中的主键字段决定插入或更新 例如:db save entity
- Parameters:
entity- Any 实体对象
-
delete
final Delete delete(TableSchema table)
创建一个删除操作 例如:db delete Table
- Parameters:
table- TableSchema 实体类伴生对象名
-
delete
final Integer delete(Object entity)
按传入实体类的主键字段删除数据 例如:db delete entity
- Parameters:
entity- Any 实体对象
-
deleteById
final <T extends Any> Integer deleteById(Object primaryKey)
按主键删除数据 例如:db.delete<Table>(1)
- Parameters:
primaryKey- Any 主键字段的值
-
delete
final <T extends Any> Integer delete(List<Pair<String, Object>> primaryKeys)
按主键删除数据(用于联合主键的表) 例如:db.delete<Table>(listOf("c1" to 1, "c2" to 2))
- Parameters:
primaryKeys- List<Pair<String, Any>> 表主键字段名和对应值的列表
-
delete
final <T extends Any> Integer delete(Map<String, Object> primaryKeys)
按主键删除数据(用于联合主键的表) 例如:db.delete<Table>(mapOf("c1" to 1, "c2" to 2))
- Parameters:
primaryKeys- Map<String, Any> 表主键字段名和对应值的列表
-
truncate
final Truncate truncate(String table)
创建一个清空操作 例如:db truncate "t1"
- Parameters:
table- String 表名
-
truncate
final Truncate truncate(TableSchema table)
创建一个清空操作 例如:db truncate Table
- Parameters:
table- TableSchema 实体类伴生对象名
-
dropTable
final DropTable dropTable(String table)
创建一个删表操作 例如:db dropTable "t1"
- Parameters:
table- String 表名
-
dropIndex
final DropIndex dropIndex(String indexName)
创建一个删索引操作 例如:db dropIndex "idx1"
- Parameters:
indexName- String 表名
-
createTable
final CreateTable createTable(String table)
创建一个建表操作 例如:db createTable "t1"
- Parameters:
table- String 表名
-
createIndex
final CreateIndex createIndex(String indexName)
创建一个建索引操作 例如:db createIndex "t1"
- Parameters:
indexName- String 表名
-
createUniqueIndex
final CreateIndex createUniqueIndex(String indexName)
创建一个建唯一索引的操作 例如:db createUniqueIndex "t1"
- Parameters:
indexName- String 表名
-
-
-
-