All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sf.dynamicsql.dao.DBDynmicSQLImpl Maven / Gradle / Ivy

The newest version!
package sf.dynamicsql.dao;

import org.mybatis.dynamic.sql.delete.DeleteModel;
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
import org.mybatis.dynamic.sql.insert.GeneralInsertModel;
import org.mybatis.dynamic.sql.insert.InsertSelectModel;
import org.mybatis.dynamic.sql.insert.render.BatchInsert;
import org.mybatis.dynamic.sql.insert.render.GeneralInsertStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertSelectStatementProvider;
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
import org.mybatis.dynamic.sql.select.SelectModel;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.update.UpdateModel;
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
import sf.common.wrapper.Page;
import sf.database.dao.DBClient;
import sf.database.jdbc.sql.Crud;
import sf.spring.util.Assert;

import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Stream;

public class DBDynmicSQLImpl implements DBDynmicSQL {
    protected DBClient client;

    public DBDynmicSQLImpl(DBClient client) {
        this.client = client;
    }

    @Override
    public  int[] insertBatch(BatchInsert provider, List records, boolean insertFast, int batchSize, List pkeys, List> keyValues) {
        Assert.notNull(records, "不能为空");
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().insertBatch(conn, provider, records, insertFast, batchSize, pkeys, keyValues)));
    }

    @Override
    public  int[] insertBatch(boolean insertFast, int batchSize, List pkeys, List> keyValues, MultiRowInsertStatementProvider provider) {
        Assert.notNull(provider, "不能为空");
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().insertBatch(conn, insertFast, batchSize, pkeys, keyValues, provider)));
    }

    @Override
    public  int insert(List pkeys, Map keyValues, InsertStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().insert(conn, pkeys, keyValues, provider)));
    }

    @Override
    public int insert(List pkeys, Map keyValues, GeneralInsertStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().insert(conn, pkeys, keyValues, provider)));
    }

    @Override
    public int insertSelect(List pkeys, Map keyValues, InsertSelectStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().insertSelect(conn, pkeys, keyValues, provider)));
    }

    @Override
    public int update(UpdateStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().update(conn, provider)));
    }

    @Override
    public int delete(DeleteStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().delete(conn, provider)));
    }

    @Override
    public  Page selectPage(long start, int limit, Class beanClass, SelectStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().selectPage(conn, start, limit, beanClass, provider)));
    }

    @Override
    public  Page selectPageRaw(long start, int limit, Class beanClass, SelectStatementProvider countProvider, SelectStatementProvider listProvider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().selectPageRaw(conn, start, limit, beanClass, countProvider, listProvider)));
    }

    @Override
    public Object[] selectArray(SelectStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().selectArray(conn, provider)));
    }

    @Override
    public  List selectList(Class beanClass, SelectStatementProvider provider) {
        Assert.notNull(beanClass, "返回类型不能为空");
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().selectList(conn, beanClass, provider)));
    }

    @Override
    public  List selectList(Class beanClass, SelectStatementProvider provider, long start, int limit) {
        Assert.notNull(beanClass, "返回类型不能为空");
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().selectList(conn, beanClass, provider, start, limit)));
    }

    @Override
    public  T selectOne(Class beanClass, SelectStatementProvider provider) {
        Assert.notNull(beanClass, "返回类型不能为空");
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().selectOne(conn, beanClass, provider)));
    }

    @Override
    public List> select(SelectStatementProvider provider) {
        return client.executeFunc((conn -> Crud.getInstance().getDynmicSQLInf().select(conn, provider)));
    }

    @Override
    public  void selectIterator(Consumer> ormIt, Class returnClass, SelectStatementProvider provider) {
        Assert.notNull(returnClass, "返回类型不能为空");
        client.executeFunc((conn -> {
            Crud.getInstance().getDynmicSQLInf().selectIterator(conn, ormIt, returnClass, provider);
            return null;
        }));
    }

    @Override
    public  void selectStream(Consumer> ormStream, Class returnClass, SelectStatementProvider provider) {
        Assert.notNull(returnClass, "返回类型不能为空");
        client.executeFunc((conn -> {
            Crud.getInstance().getDynmicSQLInf().selectStream(conn, ormStream, returnClass, provider);
            return null;
        }));
    }

    @Override
    public int insert(List pkeys, Map keyValues, GeneralInsertModel generalInsertModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().insert(conn, pkeys, keyValues, generalInsertModel));
    }

    @Override
    public int insertSelect(List pkeys, Map keyValues, InsertSelectModel insertSelectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().insertSelect(conn, pkeys, keyValues, insertSelectModel));
    }

    @Override
    public int update(UpdateModel updateModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().update(conn, updateModel));
    }

    @Override
    public int delete(DeleteModel deleteModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().delete(conn, deleteModel));
    }

    @Override
    public  Page selectPage(long start, int limit, Class beanClass, SelectModel selectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().selectPage(conn, start, limit, beanClass, selectModel));
    }

    @Override
    public  Page selectPageRaw(long start, int limit, Class beanClass, SelectModel countSelectModel, SelectModel listSelectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().selectPageRaw(conn, start, limit, beanClass, countSelectModel, listSelectModel));
    }

    @Override
    public Object[] selectArray(SelectModel selectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().selectArray(conn, selectModel));
    }

    @Override
    public  List selectList(Class beanClass, SelectModel selectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().selectList(conn, beanClass, selectModel));
    }

    @Override
    public  List selectList(Class beanClass, SelectModel selectModel, long start, int limit) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().selectList(conn, beanClass, selectModel));
    }

    @Override
    public  T selectOne(Class beanClass, SelectModel selectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().selectOne(conn, beanClass, selectModel));
    }

    @Override
    public List> select(SelectModel selectModel) {
        return client.executeFunc(conn -> Crud.getInstance().getDynmicSQLModelInf().select(conn, selectModel));
    }

    @Override
    public  void selectIterator(Consumer> ormIt, Class returnClass, SelectModel selectModel) {
        client.executeFunc(conn -> {
            Crud.getInstance().getDynmicSQLModelInf().selectIterator(conn, ormIt, returnClass, selectModel);
            return null;
        });
    }

    @Override
    public  void selectStream(Consumer> ormStream, Class returnClass, SelectModel selectModel) {
        client.executeFunc(conn -> {
            Crud.getInstance().getDynmicSQLModelInf().selectStream(conn, ormStream, returnClass, selectModel);
            return null;
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy