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);
            }
        });
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章