接口 SqlToyLazyDao

  • 所有已知实现类:
    SqlToyLazyDaoImpl

    public interface SqlToyLazyDao
    版本:
    v1.0,Date:2015年11月27日
    作者:
    zhongxuchen
    • 方法详细资料

      • getSqlToyConfig

        SqlToyConfig getSqlToyConfig​(String sqlKey,
                                     SqlType sqlType)
        参数:
        sqlKey - 对应sqlId
        sqlType - SqlType.search或传null
        返回:
        SqlToyConfig
      • getEntityMeta

        EntityMeta getEntityMeta​(Class entityClass)
        参数:
        entityClass -
        返回:
        EntityMeta
      • isUnique

        boolean isUnique​(Serializable entity,
                         String... paramsNamed)
        参数:
        entity -
        paramsNamed - 对象属性名称(不是数据库表字段名称)
        返回:
        boolean true:唯一;false:不唯一
      • getCount

        Long getCount​(String sqlOrSqlId,
                      String[] paramsNamed,
                      Object[] paramsValue)
        参数:
        sqlOrSqlId -
        paramsNamed -
        paramsValue -
        返回:
        Long 查询符合条件的记录数量
      • getCount

        Long getCount​(String sqlOrSqlId,
                      Map<String,​Object> paramsMap)
        参数:
        sqlOrSqlId -
        paramsMap -
        返回:
        Long 查询符合条件的记录数量
      • getCount

        Long getCount​(Class entityClass,
                      EntityQuery entityQuery)
        参数:
        entityClass -
        entityQuery - 例如:EntityQuery.create().where("status=:status").names("status").values(1)
        返回:
        Long 查询符合条件的记录数量
      • executeStore

        StoreResult executeStore​(String storeSqlOrKey,
                                 Object[] inParamValues)
        参数:
        storeSqlOrKey - 可以是xml中的sqlId 或者直接{call storeName (?,?)}
        inParamValues -
        返回:
        StoreResult 用:getRows()获得查询结果
      • executeStore

        StoreResult executeStore​(String storeSqlOrKey,
                                 Object[] inParamValues,
                                 Integer[] outParamsType,
                                 Class resultType)
        参数:
        storeSqlOrKey - 可以是xml中的sqlId 或者直接{call storeName (?,?)}
        inParamValues -
        outParamsType - 可以为null
        resultType - 可以是VO、Map.class、LinkedHashMap.class、Array.class,null(二维List)
        返回:
        StoreResult
      • save

        Object save​(Serializable entity)
        参数:
        entity -
        返回:
        Object 返回主键值
      • saveAll

        <T extends SerializableLong saveAll​(List<T> entities)
        类型参数:
        T -
        参数:
        entities -
        返回:
        Long 数据库发生变更的记录量
      • saveAllIgnoreExist

        <T extends SerializableLong saveAllIgnoreExist​(List<T> entities)
        类型参数:
        T -
        参数:
        entities -
        返回:
        Long 数据库发生变更的记录量
      • update

        Long update​(Serializable entity,
                    String... forceUpdateProps)
        参数:
        entity -
        forceUpdateProps - 强制修改的字段属性
        返回:
        Long 数据库发生变更的记录量
      • updateSaveFetch

        <T extends Serializable> T updateSaveFetch​(T entity,
                                                   UpdateRowHandler updateRowHandler,
                                                   String... uniqueProps)
        类型参数:
        T -
        参数:
        entity - 尽量不要使用identity、sequence主键
        updateRowHandler -
        uniqueProps - 唯一性字段,用于做唯一性检索,不设置则按照主键进行查询
        返回:
      • updateDeeply

        Long updateDeeply​(Serializable serializableVO)
        参数:
        serializableVO -
        返回:
        Long 数据库发生变更的记录量
      • updateByQuery

        Long updateByQuery​(Class entityClass,
                           EntityUpdate entityUpdate)
        参数:
        entityClass -
        entityUpdate - 例如:EntityUpdate.create().set("createBy", "S0001").where("staffName like ?").values("张")
        返回:
        Long 数据库发生变更的记录量
      • updateCascade

        Long updateCascade​(Serializable entity,
                           String[] forceUpdateProps,
                           Class[] emptyUpdateClass,
                           HashMap<Class,​String[]> subTableForceUpdateProps)
        参数:
        entity -
        forceUpdateProps -
        emptyUpdateClass -
        subTableForceUpdateProps -
        返回:
        Long 数据库发生变更的记录量
      • updateAll

        <T extends SerializableLong updateAll​(List<T> entities,
                                                String... forceUpdateProps)
        类型参数:
        T -
        参数:
        entities -
        forceUpdateProps -
        返回:
        Long 数据库发生变更的记录量
      • updateAllDeeply

        <T extends SerializableLong updateAllDeeply​(List<T> entities)
        类型参数:
        T -
        参数:
        entities -
        返回:
        Long 数据库发生变更的记录量
      • saveOrUpdate

        Long saveOrUpdate​(Serializable entity,
                          String... forceUpdateProps)
        参数:
        entity -
        forceUpdateProps - 强制修改的字段
        返回:
        Long 数据库发生变更的记录量
      • saveOrUpdateAll

        <T extends SerializableLong saveOrUpdateAll​(List<T> entities,
                                                      String... forceUpdateProps)
        类型参数:
        T -
        参数:
        entities -
        forceUpdateProps - 强制修改的字段
        返回:
        Long 数据库发生变更的记录量
      • delete

        Long delete​(Serializable entity)
        参数:
        entity -
        返回:
        Long 数据库发生变更的记录量(删除数据量)
      • deleteAll

        <T extends SerializableLong deleteAll​(List<T> entities)
        参数:
        entities -
        返回:
        Long 数据库记录变更量(删除数据量)
      • deleteByIds

        Long deleteByIds​(Class entityClass,
                         Object... ids)
        参数:
        entityClass -
        ids -
        返回:
      • deleteByQuery

        Long deleteByQuery​(Class entityClass,
                           EntityQuery entityQuery)
        参数:
        entityClass -
        entityQuery - 例如:EntityQuery.create().where("status=?").values(0)
        返回:
        Long 数据库记录变更量(插入数据量)
      • truncate

        void truncate​(Class entityClass)
        参数:
        entityClass -
      • load

        <T extends Serializable> T load​(T entity)
        参数:
        entity -
        返回:
        entity
      • load

        <T extends Serializable> T load​(T entity,
                                        LockMode lockMode)
        参数:
        entity -
        lockMode - LockMode.UPGRADE 或LockMode.UPGRADE_NOWAIT等
        返回:
        entity
      • loadCascade

        <T extends Serializable> T loadCascade​(T entity,
                                               LockMode lockMode,
                                               Class... cascadeTypes)
        参数:
        entity -
        lockMode -
        cascadeTypes -
        返回:
        entity
      • loadAll

        <T extends SerializableList<T> loadAll​(List<T> entities)
        参数:
        entities -
        返回:
        entities
      • loadAll

        <T extends SerializableList<T> loadAll​(List<T> entities,
                                                 LockMode lockMode)
        类型参数:
        T -
        参数:
        entities -
        lockMode -
        返回:
      • loadEntity

        <T extends Serializable> T loadEntity​(Class<T> entityClass,
                                              EntityQuery entityQuery)
        类型参数:
        T -
        参数:
        entityClass -
        entityQuery - 例如:EntityQuery.create().select(a,b,c).where("tenantId=? and staffId=?).values("1","S0001")
        返回:
      • findEntity

        <T> List<T> findEntity​(Class<T> entityClass,
                               EntityQuery entityQuery)
        类型参数:
        T -
        参数:
        entityClass -
        entityQuery - EntityQuery.create().where("status=:status #[and staffName like :staffName]").names("status","staffName").values(1,null).orderBy() 链式设置查询逻辑
        返回:
      • findEntity

        <T> List<T> findEntity​(Class entityClass,
                               EntityQuery entityQuery,
                               Class<T> resultType)
        类型参数:
        T -
        参数:
        entityClass -
        entityQuery -
        resultType - 指定返回结果类型
        返回:
      • findPageEntity

        <T> Page<T> findPageEntity​(Page page,
                                   Class<T> entityClass,
                                   EntityQuery entityQuery)
        类型参数:
        T -
        参数:
        page -
        entityClass -
        entityQuery -
        返回:
      • findPageEntity

        <T> Page<T> findPageEntity​(Page page,
                                   Class entityClass,
                                   EntityQuery entityQuery,
                                   Class<T> resultType)
        类型参数:
        T -
        参数:
        page -
        entityClass -
        entityQuery -
        resultType -
        返回:
      • loadAllCascade

        <T extends SerializableList<T> loadAllCascade​(List<T> entities,
                                                        Class... cascadeTypes)
        参数:
        entities -
        cascadeTypes -
        返回:
      • loadAllCascade

        <T extends SerializableList<T> loadAllCascade​(List<T> entities,
                                                        LockMode lockMode,
                                                        Class... cascadeTypes)
        类型参数:
        T -
        参数:
        entities -
        lockMode -
        cascadeTypes -
        返回:
      • loadByIds

        <T extends SerializableList<T> loadByIds​(Class<T> entityClass,
                                                   Object... ids)
        类型参数:
        T -
        参数:
        entityClass -
        ids -
        返回:
      • loadByIds

        <T extends SerializableList<T> loadByIds​(Class<T> entityClass,
                                                   LockMode lockMode,
                                                   Object... ids)
        类型参数:
        T -
        参数:
        entityClass -
        lockMode -
        ids -
        返回:
      • loadBySql

        <T> T loadBySql​(String sqlOrSqlId,
                        String[] paramsNamed,
                        Object[] paramsValue,
                        Class<T> resultType)
        参数:
        sqlOrSqlId - 直接代码中写的sql或者xml中定义的sql id
        paramsNamed -
        paramsValue -
        resultType - 可以是vo、dto、Map(默认驼峰命名)
        返回:
      • loadBySql

        <T> T loadBySql​(String sqlOrSqlId,
                        Map<String,​Object> paramsMap,
                        Class<T> resultType)
        类型参数:
        T -
        参数:
        sqlOrSqlId - 可以直接传sql语句,也可以是xml中定义的sql id
        paramsMap -
        resultType - 可以是vo、dto、Map(默认驼峰命名)
        返回:
      • loadBySql

        <T extends Serializable> T loadBySql​(String sqlOrSqlId,
                                             T entity)
        参数:
        sqlOrSqlId -
        entity -
        返回:
      • loadByQuery

        Object loadByQuery​(QueryExecutor query)
        参数:
        query - new QueryExecutor(sql).names().values().filters() 链式设置查询
        返回:
      • getSingleValue

        <T> T getSingleValue​(String sqlOrSqlId,
                             Map<String,​Object> paramsMap,
                             Class<T> resultType)
        类型参数:
        T -
        参数:
        sqlOrSqlId -
        paramsMap -
        resultType -
        返回:
      • findByQuery

        QueryResult findByQuery​(QueryExecutor query)
        参数:
        query - 范例:new QueryExecutor(sql).names(xxx).values(xxx).filters() 链式设置查询
        返回:
      • findBySql

        <T extends SerializableList<T> findBySql​(String sqlOrSqlId,
                                                   T entity)
        类型参数:
        T -
        参数:
        sqlOrSqlId - 可以是具体sql也可以是对应xml中的sqlId
        entity - 通过对象传参数,并按对象类型返回结果
        返回:
      • findBySql

        <T> List<T> findBySql​(String sqlOrSqlId,
                              String[] paramsNamed,
                              Object[] paramsValue,
                              Class<T> resultType)
        参数:
        sqlOrSqlId -
        paramsNamed - 如果sql是select * from table where xxx=? 问号传参模式,paramNamed设置为null
        paramsValue - 对应Named参数的值
        resultType - 返回结果List中的对象类型(可以是VO、null:表示返回List;HashMap.class(驼峰命名),Array.class 返回List
        返回:
      • findBySql

        <T> List<T> findBySql​(String sqlOrSqlId,
                              Map<String,​Object> paramsMap,
                              Class<T> resultType)
        类型参数:
        T -
        参数:
        sqlOrSqlId -
        paramsMap -
        resultType - 可以是vo、dto、Map(默认驼峰命名)
        返回:
      • findBySql

        List findBySql​(String sqlOrSqlId,
                       String[] paramsNamed,
                       Object[] paramsValue)
        参数:
        sqlOrSqlId -
        paramsNamed -
        paramsValue -
        返回:
      • findPageByQuery

        QueryResult findPageByQuery​(Page page,
                                    QueryExecutor queryExecutor)
        参数:
        page -
        queryExecutor - 范例:new QueryExecutor(sql).names(xxx).values(xxx).filters() 链式设置查询
        返回:
      • findPageBySql

        <T> Page<T> findPageBySql​(Page page,
                                  String sqlOrSqlId,
                                  String[] paramsNamed,
                                  Object[] paramValues,
                                  Class<T> resultType)
        参数:
        page -
        sqlOrSqlId -
        paramsNamed -
        paramValues -
        resultType - 返回结果类型(VO.class,null表示返回二维List,Map.class(驼峰命名),LinkedHashMap.class,Array.class)
        返回:
      • findPageBySql

        <T> Page<T> findPageBySql​(Page page,
                                  String sqlOrSqlId,
                                  Map<String,​Object> paramsMap,
                                  Class<T> resultType)
        类型参数:
        T -
        参数:
        page -
        sqlOrSqlId -
        paramsMap -
        resultType - 可以是vo、dto、Map(默认驼峰命名)
        返回:
      • findPageBySql

        <T extends SerializablePage<T> findPageBySql​(Page page,
                                                       String sqlOrSqlId,
                                                       T entity)
        类型参数:
        T -
        参数:
        page -
        sqlOrSqlId -
        entity -
        返回:
      • findPageBySql

        Page findPageBySql​(Page page,
                           String sqlOrSqlId,
                           String[] paramsNamed,
                           Object[] paramValues)
        参数:
        page -
        sqlOrSqlId -
        paramsNamed -
        paramValues -
        返回:
      • findTopBySql

        <T> List<T> findTopBySql​(String sqlOrSqlId,
                                 String[] paramsNamed,
                                 Object[] paramValues,
                                 Class<T> resultType,
                                 double topSize)
        参数:
        sqlOrSqlId -
        paramsNamed - 如果sql是select * from table where xxx=? 问号传参模式,paramNamed设置为null
        paramValues -
        resultType - 返回结果List中的对象类型(可以是VO、null:表示返回List;HashMap.class (默认驼峰命名))
        topSize - (大于1则取固定数量的记录,小于1,则表示按比例提取)
        返回:
      • findTopBySql

        <T> List<T> findTopBySql​(String sqlOrSqlId,
                                 Map<String,​Object> paramsMap,
                                 Class<T> resultType,
                                 double topSize)
        类型参数:
        T -
        参数:
        sqlOrSqlId -
        paramsMap -
        resultType - 可以是vo、dto、Map(默认驼峰命名)
        topSize -
        返回:
      • findTopBySql

        <T extends SerializableList<T> findTopBySql​(String sqlOrSqlId,
                                                      T entity,
                                                      double topSize)
        类型参数:
        T -
        参数:
        sqlOrSqlId -
        entity -
        topSize - (大于1则取固定数量的记录,小于1,则表示按比例提取)
        返回:
      • getRandomResult

        <T extends SerializableList<T> getRandomResult​(String sqlOrSqlId,
                                                         T entity,
                                                         double randomCount)
        类型参数:
        T -
        参数:
        sqlOrSqlId -
        entity -
        randomCount - 小于1表示按比例提取,大于1则按整数部分提取记录数量
        返回:
      • getRandomResult

        <T> List<T> getRandomResult​(String sqlOrSqlId,
                                    String[] paramsNamed,
                                    Object[] paramsValue,
                                    Class<T> resultType,
                                    double randomCount)
      • getRandomResult

        <T> List<T> getRandomResult​(String sqlOrSqlId,
                                    Map<String,​Object> paramsMap,
                                    Class<T> resultType,
                                    double randomCount)
        类型参数:
        T -
        参数:
        sqlOrSqlId -
        paramsMap -
        resultType - 可以是vo、dto、Map(默认驼峰命名)
        randomCount -
        返回:
      • batchUpdate

        Long batchUpdate​(String sqlOrSqlId,
                         List dataSet)
        参数:
        sqlOrSqlId -
        dataSet - 支持List、List(sql中?传参) ;List、List 形式(sql中:paramName传参)
        返回:
      • batchUpdate

        Long batchUpdate​(String sqlOrSqlId,
                         List dataSet,
                         Boolean autoCommit)
        参数:
        sqlOrSqlId -
        dataSet - 支持List、List(sql中?传参) ;List、List 形式(sql中:paramName传参)
        autoCommit - (一般为null)
      • executeSql

        Long executeSql​(String sqlOrSqlId,
                        Serializable entity)
        参数:
        sqlOrSqlId -
        entity -
        返回:
        Long 数据库发生变更的记录数
      • executeSql

        Long executeSql​(String sqlOrSqlId,
                        String[] paramsNamed,
                        Object[] paramsValue)
        参数:
        sqlOrSqlId -
        paramsNamed -
        paramsValue -
        返回:
      • executeSql

        Long executeSql​(String sqlOrSqlId,
                        Map<String,​Object> paramsMap)
        参数:
        sqlOrSqlId -
        paramsMap -
        返回:
      • wrapTreeTableRoute

        boolean wrapTreeTableRoute​(TreeTableModel treeTableModel)
        参数:
        treeTableModel -
        返回:
      • flush

        void flush()
      • getDataSource

        DataSource getDataSource()
        返回:
      • generateBizId

        long generateBizId​(String signature,
                           int increment)
        参数:
        signature - 唯一标识符号
        increment - 增量
        返回:
      • getTranslateCache

        HashMap<String,​Object[]> getTranslateCache​(String cacheName,
                                                         String cacheType)
        参数:
        cacheName -
        cacheType - 如是数据字典,则传入字典类型否则为null即可
        返回:
      • getTranslateCache

        <T> List<T> getTranslateCache​(String cacheName,
                                      String cacheType,
                                      Class<T> reusltType)
        类型参数:
        T -
        参数:
        cacheName -
        cacheType - 如是数据字典,则传入字典类型否则为null即可
        reusltType -
        返回:
      • translate

        void translate​(Collection dataSet,
                       String cacheName,
                       String cacheType,
                       Integer cacheNameIndex,
                       TranslateHandler handler)
        参数:
        dataSet - 数据集合
        cacheName - 缓存名称
        cacheType - 例如数据字典存在分类的缓存填写字典分类,其它的如员工、机构等填null
        cacheNameIndex -
        handler -
      • cacheMatchKeys

        @Deprecated
        String[] cacheMatchKeys​(String matchRegex,
                                CacheMatchFilter cacheMatchFilter)
        已过时。
        参数:
        matchRegex - 匹配的表达式,如:中 上海,内容按照此顺序出现相关文字即可匹配上
        cacheMatchFilter - 例如: CacheMatchFilter.create().cacheName("staffIdNameCache")
        返回:
      • cacheMatchKeys

        String[] cacheMatchKeys​(CacheMatchFilter cacheMatchFilter,
                                String... matchRegexes)
        update 2022-12-15 支持数组
        参数:
        cacheMatchFilter -
        matchRegexes - 数组
        返回:
      • existCache

        boolean existCache​(String cacheName)
        参数:
        cacheName -
        返回:
      • getCacheNames

        Set<String> getCacheNames()
        返回:
      • convertType

        <T extends Serializable> T convertType​(Serializable source,
                                               Class<T> resultType,
                                               String... ignoreProperties)
        类型参数:
        T -
        参数:
        source -
        resultType -
        ignoreProperties - 忽略映射匹配的属性
        返回:
      • convertType

        <T extends SerializableList<T> convertType​(List sourceList,
                                                     Class<T> resultType,
                                                     String... ignoreProperties)
        类型参数:
        T -
        参数:
        sourceList -
        resultType -
        ignoreProperties - 忽略映射匹配的属性
        返回:
      • convertType

        <T extends SerializablePage<T> convertType​(Page sourcePage,
                                                     Class<T> resultType,
                                                     String... ignoreProperties)
        类型参数:
        T -
        参数:
        sourcePage -
        resultType -
        ignoreProperties - 忽略映射匹配的属性
        返回:
      • parallQuery

        <T> List<QueryResult<T>> parallQuery​(List<ParallQuery> parallQueryList,
                                             String[] paramNames,
                                             Object[] paramValues)
        参数:
        parallQueryList - ParallQuery中可以单独对本查询设置条件参数
        paramNames -
        paramValues -
        返回:
      • parallQuery

        <T> List<QueryResult<T>> parallQuery​(List<ParallQuery> parallQueryList,
                                             String[] paramNames,
                                             Object[] paramValues,
                                             ParallelConfig parallelConfig)
        参数:
        parallQueryList - ParallQuery中可以单独对本查询设置条件参数
        paramNames -
        paramValues -
        parallelConfig - 设置并行参数:ParallelConfig.create().maxThreads(5).maxWaitSeconds(600)
        返回:
      • parallQuery

        <T> List<QueryResult<T>> parallQuery​(List<ParallQuery> parallQueryList,
                                             Map<String,​Object> paramsMap)
        类型参数:
        T -
        参数:
        parallQueryList - ParallQuery中可以单独对本查询设置条件参数
        paramsMap -
        返回:
      • parallQuery

        <T> List<QueryResult<T>> parallQuery​(List<ParallQuery> parallQueryList,
                                             Map<String,​Object> paramsMap,
                                             ParallelConfig parallelConfig)
        类型参数:
        T -
        参数:
        parallQueryList - ParallQuery中可以单独对本查询设置条件参数
        paramsMap -
        parallelConfig - 例如:ParallelConfig.create().maxThreads(20)
        返回:
      • elastic

        Elastic elastic()
        返回:
      • mongo

        Mongo mongo()
        返回:
      • delete

        Delete delete()
        返回:
      • update

        Update update()
        返回:
      • store

        Store store()
        返回:
      • save

        Save save()
        返回:
      • query

        Query query()
        返回:
      • load

        Load load()
        返回:
      • unique

        Unique unique()
        返回:
      • execute

        Execute execute()
        返回:
      • batch

        Batch batch()
        返回: