Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.gitee.qdbp.jdbc.stream.SqlOnAfterParamsStream Maven / Gradle / Ivy
package com.gitee.qdbp.jdbc.stream;
import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.RowMapper;
import com.gitee.qdbp.able.jdbc.paging.Paging;
import com.gitee.qdbp.jdbc.api.SqlDao;
import com.gitee.qdbp.jdbc.sql.SqlBuffer;
/**
* 设置参数的后续操作: find|list|insert|update|delete / pageBy / resultAs
*
* @author zhaohuihua
* @version 20210530
*/
public class SqlOnAfterParamsStream {
protected final SqlDao dao;
protected final String sqlId;
protected final Object params;
SqlOnAfterParamsStream(SqlDao dao, String sqlId, Object params) {
this.dao = dao;
this.sqlId = sqlId;
this.params = params;
}
public SqlBuffer getContent() {
return this.dao.getSqlContent(sqlId, params);
}
/**
* 查询数据, 结果为Map结构
*
Map<String, Object> user = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.find();
*
*
* @return Map结果
*/
public Map find() {
return this.dao.findForMap(sqlId, params);
}
/**
* 查询数据列表, 结果为Map列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.list();
*
*
* @return Map列表
*/
public List> list() {
return this.dao.listForMaps(sqlId, params);
}
/**
* 执行插入语句
*
* @return 影响行数
*/
public int insert() {
return this.dao.insert(sqlId, params);
}
/**
* 执行更新语句
*
* @return 影响行数
*/
public int update() {
return this.dao.update(sqlId, params);
}
/**
* 执行删除语句
*
* @return 影响行数
*/
public int delete() {
return this.dao.delete(sqlId, params);
}
/**
* 设置结果实体类型
*
List<SysUser> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.resultAs(SysUser.class)
.list();
*
*
* @param 实体类型
* @param resultType 实体类
* @return 返回后续流式操作对象
*/
public SqlOnResultTypeStream resultAs(Class resultType) {
return new SqlOnResultTypeStream<>(dao, sqlId, params, resultType);
}
/**
* 设置结果实体类型
*
* @param 实体类型
* @param rowMapper 结果转换类
* @return 返回后续流式操作对象
*/
public SqlOnResultTypeStream resultAs(RowMapper rowMapper) {
return new SqlOnResultTypeStream<>(dao, sqlId, params, rowMapper);
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.pageBy(1, 10) // 查第1页,每页10行
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @return 返回后续流式操作对象
*/
public SqlOnAfterPagingStream pageBy(int pageIndex, int pageSize) {
return pageBy(new Paging(pageIndex, pageSize));
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.pageBy(1, 10, 88) // 查第1页,每页10行, 88=提前查询的总行数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @param total 总行数(用于提前查询总行数的情况)
* @return 返回后续流式操作对象
*/
public SqlOnAfterPagingStream pageBy(int pageIndex, int pageSize, int total) {
return pageBy(new Paging(pageIndex, pageSize, total));
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.pageBy(1, 10, false) // 查第1页,每页10行, false=无需统计总数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param pageIndex 第几页
* @param pageSize 每页行数
* @param needCount 是否统计总数
* @return 返回后续流式操作对象
*/
public SqlOnAfterPagingStream pageBy(int pageIndex, int pageSize, boolean needCount) {
return pageBy(new Paging(pageIndex, pageSize, needCount));
}
/**
* 根据条件分页查询实体列表
*
List<Map<String, Object>> users = qdbcBoot.sqlStream()
.sqlId("SysUserMapper:queryRoleUsers")
.params(map)
.pageBy(new Paging(1,10,false)) // 查第1页,每页10行, false=无需统计总数
.list().asPartList(); // 分页后返回的是PageList, 需要转换为普通List
*
*
* @param paging 分页参数
* @return 返回后续流式操作对象
*/
public SqlOnAfterPagingStream pageBy(Paging paging) {
return new SqlOnAfterPagingStream(dao, sqlId, params, paging);
}
}