Mybatis-plus大数据量数据流式查询通用接口

1、定义一个通用mapper

@Repository
public interface DynamicMapper extends BaseMapper {
    @Select("${sql}" )
    List<Map> dynamicSelect(@Param("sql") String sql);

    @Insert("${sql}")
    void dynamicInsert(@Param("sql") String sql);

    @Update("${sql}")
    void dynamicUpdate(@Param("sql") String sql);

    @Delete("${sql}")
    void dynamicDelete(@Param("sql") String sql);

    @Select("${sql}")
    @Options(resultSetType = ResultSetType.FORWARD_ONLY, fetchSize = 1000)
    @ResultType(Map.class)
    void dynamicSelectLargeData(@Param("sql") String sql, ResultHandler<Map> handler);


}

2、测试

@RestController
public class TestSearchLargeData {

    @Autowired
    private DynamicMapper dynamicMapper;

    @GetMapping("/getLargeData")
    public void getLargeData() {
        String sql = "select * from m8j";
        dynamicMapper.dynamicSelectLargeData(sql, new ResultHandler<Map>() {
            @Override
            public void handleResult(ResultContext<? extends Map> resultContext) {
                Map resultObject = resultContext.getResultObject();
                System.out.println(resultObject);
            }
        });
    }
}

你可能感兴趣的:(mybatis-plus)