Package 

Class DataBaseImpl

  • All Implemented Interfaces:
    database.DataBase

    
    public abstract class DataBaseImpl
     implements DataBase
                        

    数据库交互抽象类

    • Constructor Detail

      • DataBaseImpl

        DataBaseImpl()
    • Method Detail

      • select

         Select select(String columns)

        创建一个select查询 例如:db.select("c1", "c2")

        Parameters:
        columns - Array<out String> 字段名列表
      • select

         Select select(Query query)

        创建一个select查询 例如:db select count()

        Parameters:
        query - Query 查询表达式
      • 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> 查询表达式列表
      • select

         Select select()

        创建一个select查询 例如:db.select()

      • from

         Select from(String table)

        创建一个select查询

        Parameters:
        table - String 表名
      • 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> 查询参数列表(可省略),查询语句中的?
      • 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> 表主键字段名和对应值的列表
      • queryAll

         final <T extends Any> List<T> queryAll()

        查询整表结果 例如:db.queryAll<Table>()

      • 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(String table)

        创建一个更新操作 例如:db update "t1"

        Parameters:
        table - String 表名
      • 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(String table)

        创建一个删除操作 例如:db delete "t1"

        Parameters:
        table - String 表名
      • 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 表名