Commit 621a14bb authored by yanzg's avatar yanzg

压缩视频

parent d73ea0f1
...@@ -5,8 +5,6 @@ import com.yanzuoguang.util.vo.DataDaoVo; ...@@ -5,8 +5,6 @@ import com.yanzuoguang.util.vo.DataDaoVo;
import com.yanzuoguang.util.vo.PageSizeData; import com.yanzuoguang.util.vo.PageSizeData;
import com.yanzuoguang.util.vo.PageSizeReqVo; import com.yanzuoguang.util.vo.PageSizeReqVo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -73,11 +71,11 @@ public interface BaseDao { ...@@ -73,11 +71,11 @@ public interface BaseDao {
* *
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> T load(Object model, Class<T> resultClass, boolean fullCond); <T extends Object> T load(Object model, Class<T> resultClass, QueryPara queryPara);
/** /**
...@@ -95,11 +93,11 @@ public interface BaseDao { ...@@ -95,11 +93,11 @@ public interface BaseDao {
* *
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> List<T> loadList(Object model, Class<T> resultClass, boolean fullCond); <T extends Object> List<T> loadList(Object model, Class<T> resultClass, QueryPara queryPara);
/** /**
* 加载分页数据 * 加载分页数据
...@@ -116,11 +114,11 @@ public interface BaseDao { ...@@ -116,11 +114,11 @@ public interface BaseDao {
* *
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass, boolean fullCond); <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass, QueryPara queryPara);
/** /**
* 加载分页数据 * 加载分页数据
...@@ -139,11 +137,11 @@ public interface BaseDao { ...@@ -139,11 +137,11 @@ public interface BaseDao {
* @param pageReq 分页数据信息 * @param pageReq 分页数据信息
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass, boolean fullCond); <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass, QueryPara queryPara);
/** /**
* 加载分页数据 * 加载分页数据
...@@ -160,11 +158,11 @@ public interface BaseDao { ...@@ -160,11 +158,11 @@ public interface BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> List<T> loadPageData(PageSizeReqVo model, Class<T> resultClass, boolean fullCond); <T extends Object> List<T> loadPageData(PageSizeReqVo model, Class<T> resultClass, QueryPara queryPara);
/** /**
* 加载分页数据 * 加载分页数据
...@@ -181,11 +179,11 @@ public interface BaseDao { ...@@ -181,11 +179,11 @@ public interface BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> List<T> loadPageData(PageSizeReqVo pageReq, Object model, Class<T> resultClass, boolean fullCond); <T extends Object> List<T> loadPageData(PageSizeReqVo pageReq, Object model, Class<T> resultClass, QueryPara queryPara);
/** /**
* 修改数据 * 修改数据
......
package com.yanzuoguang.dao;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 查询参数
*
* @author 颜佐光
*/
@ApiModel(description = "查询参数")
public class QueryPara {
/**
* 所有条件生效
*/
@ApiModelProperty(notes = "所有条件生效,而不仅仅在主键存在时,通过主键加载")
private boolean fullCond;
/**
* 查询删除标记的结果
*/
@ApiModelProperty(notes = "在数据通过删除标记删除时,可以通过该参数查询出来")
private boolean loadRemove;
public QueryPara() {
}
public QueryPara(boolean fullCond) {
this.fullCond = fullCond;
}
public QueryPara(boolean fullCond, boolean loadRemove) {
this.fullCond = fullCond;
this.loadRemove = loadRemove;
}
public boolean isFullCond() {
return fullCond;
}
public void setFullCond(boolean fullCond) {
this.fullCond = fullCond;
}
public boolean isLoadRemove() {
return loadRemove;
}
public void setLoadRemove(boolean loadRemove) {
this.loadRemove = loadRemove;
}
}
...@@ -2,6 +2,7 @@ package com.yanzuoguang.dao.impl; ...@@ -2,6 +2,7 @@ package com.yanzuoguang.dao.impl;
import com.yanzuoguang.dao.BaseDao; import com.yanzuoguang.dao.BaseDao;
import com.yanzuoguang.dao.DaoConst; import com.yanzuoguang.dao.DaoConst;
import com.yanzuoguang.dao.QueryPara;
import com.yanzuoguang.db.DbExecute; import com.yanzuoguang.db.DbExecute;
import com.yanzuoguang.util.base.ObjectHelper; import com.yanzuoguang.util.base.ObjectHelper;
import com.yanzuoguang.util.exception.CodeException; import com.yanzuoguang.util.exception.CodeException;
...@@ -391,8 +392,8 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -391,8 +392,8 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* @param model 来源对象 * @param model 来源对象
* @return * @return
*/ */
protected Object getLoadFrom(Object model, boolean fullCond) { protected Object getLoadFrom(Object model, QueryPara queryPara) {
if (fullCond) { if (queryPara != null && queryPara.isFullCond()) {
return model; return model;
} }
...@@ -429,16 +430,16 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -429,16 +430,16 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
@Override @Override
public <T extends Object> T load(Object model, Class<T> resultClass, boolean fullCond) { public <T extends Object> T load(Object model, Class<T> resultClass, QueryPara queryPara) {
// 获取来源主键 // 获取来源主键
Object from = this.getLoadFrom(model, fullCond); Object from = this.getLoadFrom(model, queryPara);
// 通过传入数据进行加载 // 通过传入数据进行加载
T to = this.queryFirst(resultClass, DaoConst.LOAD, from); T to = this.queryFirst(resultClass, DaoConst.LOAD, from, queryPara);
if (to == null) { if (to == null) {
return null; return null;
} }
...@@ -460,7 +461,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -460,7 +461,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public <T extends Object> T load(Object model, Class<T> resultClass) { public <T extends Object> T load(Object model, Class<T> resultClass) {
return this.load(model, resultClass, false); return this.load(model, resultClass, null);
} }
/** /**
...@@ -468,17 +469,17 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -468,17 +469,17 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
@Override @Override
public <T extends Object> List<T> loadList(Object model, Class<T> resultClass, boolean fullCond) { public <T extends Object> List<T> loadList(Object model, Class<T> resultClass, QueryPara queryPara) {
// 获取来源主键 // 获取来源主键
Object from = this.getLoadFrom(model, fullCond); Object from = this.getLoadFrom(model, queryPara);
// 通过传入数据进行加载 // 通过传入数据进行加载
List<T> to = this.query(resultClass, DaoConst.LOAD, from); List<T> to = this.query(resultClass, DaoConst.LOAD, from, queryPara);
if (to == null || to.size() == 0) { if (to == null || to.size() == 0) {
return new ArrayList<>(); return new ArrayList<>();
} }
...@@ -498,7 +499,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -498,7 +499,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public <T extends Object> List<T> loadList(Object model, Class<T> resultClass) { public <T extends Object> List<T> loadList(Object model, Class<T> resultClass) {
return this.loadList(model, resultClass, false); return this.loadList(model, resultClass, null);
} }
...@@ -512,7 +513,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -512,7 +513,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass) { public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass) {
return this.loadPage(model, model, resultClass, false); return this.loadPage(model, model, resultClass, null);
} }
/** /**
...@@ -520,13 +521,13 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -520,13 +521,13 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
@Override @Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass, boolean fullCond) { public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass, QueryPara queryPara) {
return this.loadPage(model, model, resultClass, fullCond); return this.loadPage(model, model, resultClass, queryPara);
} }
/** /**
...@@ -539,7 +540,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -539,7 +540,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass) { public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass) {
return this.loadPage(pageReq, model, resultClass, false); return this.loadPage(pageReq, model, resultClass, null);
} }
/** /**
...@@ -547,17 +548,17 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -547,17 +548,17 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
@Override @Override
public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass, boolean fullCond) { public <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo pageReq, Object model, Class<T> resultClass, QueryPara queryPara) {
// 获取来源主键 // 获取来源主键
Object from = this.getLoadFrom(model, fullCond); Object from = this.getLoadFrom(model, queryPara);
// 通过传入数据进行加载 // 通过传入数据进行加载
PageSizeData<T> to = this.queryPage(resultClass, pageReq, DaoConst.LOAD, from); PageSizeData<T> to = this.queryPage(resultClass, pageReq, DaoConst.LOAD, from, queryPara);
if (to == null || to.getPageTotal() == 0) { if (to == null || to.getPageTotal() == 0) {
return to; return to;
} }
...@@ -579,7 +580,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -579,7 +580,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public <T extends Object> List<T> loadPageData(PageSizeReqVo model, Class<T> resultClass) { public <T extends Object> List<T> loadPageData(PageSizeReqVo model, Class<T> resultClass) {
return this.loadPageData(model, model, resultClass, false); return this.loadPageData(model, model, resultClass, null);
} }
/** /**
...@@ -587,13 +588,13 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -587,13 +588,13 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
@Override @Override
public <T extends Object> List<T> loadPageData(PageSizeReqVo model, Class<T> resultClass, boolean fullCond) { public <T extends Object> List<T> loadPageData(PageSizeReqVo model, Class<T> resultClass, QueryPara queryPara) {
return this.loadPageData(model, model, resultClass, fullCond); return this.loadPageData(model, model, resultClass, queryPara);
} }
...@@ -607,7 +608,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -607,7 +608,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public <T extends Object> List<T> loadPageData(PageSizeReqVo pageReq, Object model, Class<T> resultClass) { public <T extends Object> List<T> loadPageData(PageSizeReqVo pageReq, Object model, Class<T> resultClass) {
return this.loadPageData(pageReq, model, resultClass, false); return this.loadPageData(pageReq, model, resultClass, null);
} }
/** /**
...@@ -615,19 +616,19 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -615,19 +616,19 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* *
* @param model 加载数据的请求参数 * @param model 加载数据的请求参数
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param fullCond 所有条件生效 * @param queryPara 查询参数
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
@Override @Override
public <T extends Object> List<T> loadPageData(PageSizeReqVo pageReq, Object model, Class<T> resultClass, boolean fullCond) { public <T extends Object> List<T> loadPageData(PageSizeReqVo pageReq, Object model, Class<T> resultClass, QueryPara queryPara) {
// 获取来源主键 // 获取来源主键
Object from = this.getLoadFrom(model, fullCond); Object from = this.getLoadFrom(model, queryPara);
// 通过传入数据进行加载 // 通过传入数据进行加载
List<T> to = this.queryPageData(resultClass, pageReq, DaoConst.LOAD, from); List<T> to = this.queryPageData(resultClass, pageReq, DaoConst.LOAD, from, queryPara);
if (to == null) { if (to == null) {
return to; return new ArrayList<>();
} }
// 判断来源主键是否存在,不存在则获取加载后的主键 // 判断来源主键是否存在,不存在则获取加载后的主键
......
package com.yanzuoguang.dao.impl; package com.yanzuoguang.dao.impl;
import com.yanzuoguang.dao.DaoConst; import com.yanzuoguang.dao.DaoConst;
import com.yanzuoguang.dao.QueryPara;
import com.yanzuoguang.dao.TableAnnotation; import com.yanzuoguang.dao.TableAnnotation;
import com.yanzuoguang.db.DbExecute; import com.yanzuoguang.db.DbExecute;
import com.yanzuoguang.db.impl.DbRow; import com.yanzuoguang.db.impl.DbRow;
...@@ -192,31 +193,36 @@ public abstract class BaseDaoSql { ...@@ -192,31 +193,36 @@ public abstract class BaseDaoSql {
} }
/** /**
* 根据SQL语句信息查询第一个单元格 * 是否需要复制一个新的
* *
* @param sqlData SQL语句信息 * @param sqlData
* @param model 前台参数 * @param queryPara
* @return 查询的结果 * @param copy
*/ */
protected Object queryCell(SqlData sqlData, Object model) { protected SqlData getSqlQueryPara(SqlData sqlData, QueryPara queryPara, boolean copy) {
List<Object> paras = new ArrayList<>(); SqlData copyTo = sqlData;
String sql = this.getQueryPara(paras, sqlData, model); if (queryPara != null && queryPara.isLoadRemove()) {
Object cell = this.queryCellWithCache(sqlData.getName(), sql, paras.toArray()); if (copyTo.getField(DaoConst.REMOVE_FLAG_INPUT) != null) {
return cell; if (copy) {
copyTo = sqlData.copy();
}
copyTo.removeField(DaoConst.REMOVE_FLAG_INPUT);
}
}
return copyTo;
} }
/** /**
* 根据SQL名称获取第一个单元格 * 根据SQL语句信息查询数据
* *
* @param sqlName 需要执行的SQL语句的名称 * @param sqlData SQL语句信息
* @param model 需要转化的实体 * @param model 前台参数
* @return 处理参数 * @return 查询的结果
*/ */
protected Object queryCell(String sqlName, Object model) { protected List<MapRow> queryData(SqlData sqlData, Object model) {
return this.queryCell(this.getSql(sqlName), model); return this.queryData(MapRow.class, sqlData, model);
} }
/** /**
* 根据SQL语句信息查询数据 * 根据SQL语句信息查询数据
* *
...@@ -248,6 +254,57 @@ public abstract class BaseDaoSql { ...@@ -248,6 +254,57 @@ public abstract class BaseDaoSql {
this.getDb().query(this.getClass(), cls, handle, sqlData.getName(), sql, paras.toArray()); this.getDb().query(this.getClass(), cls, handle, sqlData.getName(), sql, paras.toArray());
} }
/**
* 根据SQL名称获取第一个单元格
*
* @param sqlName 需要执行的SQL语句的名称
* @param model 需要转化的实体
* @return 处理参数
*/
protected Object queryCell(String sqlName, Object model) {
return this.queryCell(this.getSql(sqlName), model);
}
/**
* 根据SQL语句信息查询第一个单元格
*
* @param sqlData SQL语句信息
* @param model 前台参数
* @return 查询的结果
*/
protected Object queryCell(SqlData sqlData, Object model) {
return this.queryCell(sqlData, model, null);
}
/**
* 根据SQL语句信息查询第一个单元格
*
* @param sqlData SQL语句信息
* @param model 前台参数
* @return 查询的结果
*/
protected Object queryCell(SqlData sqlData, Object model, QueryPara queryPara) {
sqlData = getSqlQueryPara(sqlData, queryPara, true);
List<Object> paras = new ArrayList<>();
String sql = this.getQueryPara(paras, sqlData, model);
Object cell = this.queryCellWithCache(sqlData.getName(), sql, paras.toArray());
return cell;
}
/**
* 查询不分页数据
*
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected List<MapRow> query(String sqlName, Object model) {
return this.query(MapRow.class, sqlName, model);
}
/** /**
* 查询不分页数据 * 查询不分页数据
* *
...@@ -258,7 +315,23 @@ public abstract class BaseDaoSql { ...@@ -258,7 +315,23 @@ public abstract class BaseDaoSql {
* @return 查询的结果 * @return 查询的结果
*/ */
protected <T extends Object> List<T> query(Class<T> cls, String sqlName, Object model) { protected <T extends Object> List<T> query(Class<T> cls, String sqlName, Object model) {
return this.query(cls, sqlName, model, null);
}
/**
* 查询不分页数据
*
* @param cls 数据结果类型
* @param sqlName SQL语句名称
* @param model 前台参数
* @param <T> 返回数据类型
* @return 查询的结果
*/
protected <T extends Object> List<T> query(Class<T> cls, String sqlName, Object model, QueryPara queryPara) {
SqlData sqlData = this.getSql(sqlName); SqlData sqlData = this.getSql(sqlName);
sqlData = getSqlQueryPara(sqlData, queryPara, true);
return queryData(cls, sqlData, model); return queryData(cls, sqlData, model);
} }
...@@ -272,10 +345,38 @@ public abstract class BaseDaoSql { ...@@ -272,10 +345,38 @@ public abstract class BaseDaoSql {
* @return 查询的结果 * @return 查询的结果
*/ */
protected <T extends Object> void query(Class<T> cls, DbRow<T> handle, String sqlName, Object model) { protected <T extends Object> void query(Class<T> cls, DbRow<T> handle, String sqlName, Object model) {
this.query(cls, handle, sqlName, model, null);
}
/**
* 查询不分页数据
*
* @param cls 数据结果类型
* @param handle 需要处理的数据
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected <T extends Object> void query(Class<T> cls, DbRow<T> handle, String sqlName, Object model, QueryPara queryPara) {
SqlData sqlData = this.getSql(sqlName); SqlData sqlData = this.getSql(sqlName);
// 获取查询参数处理后的SQL语句
sqlData = getSqlQueryPara(sqlData, queryPara, true);
queryData(cls, handle, sqlData, model); queryData(cls, handle, sqlData, model);
} }
/**
* 查询第一条数据
*
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected MapRow queryFirst(String sqlName, Object model) {
return this.queryFirst(MapRow.class, sqlName, model);
}
/** /**
* 查询第一条数据 * 查询第一条数据
* *
...@@ -286,14 +387,40 @@ public abstract class BaseDaoSql { ...@@ -286,14 +387,40 @@ public abstract class BaseDaoSql {
* @return 查询的结果 * @return 查询的结果
*/ */
protected <T extends Object> T queryFirst(Class<T> cls, String sqlName, Object model) { protected <T extends Object> T queryFirst(Class<T> cls, String sqlName, Object model) {
return this.queryFirst(cls, sqlName, model, null);
}
/**
* 查询第一条数据
*
* @param cls 数据结果类型
* @param sqlName SQL语句名称
* @param model 前台参数
* @param <T> 返回数据类型
* @return 查询的结果
*/
protected <T extends Object> T queryFirst(Class<T> cls, String sqlName, Object model, QueryPara queryPara) {
PageSizeReq pageSize = new PageSizeReqVo(); PageSizeReq pageSize = new PageSizeReqVo();
pageSize.setPageIndex(1); pageSize.setPageIndex(1);
pageSize.setPageSize(1); pageSize.setPageSize(1);
List<T> list = this.queryPageData(cls, pageSize, sqlName, model); List<T> list = this.queryPageData(cls, pageSize, sqlName, model, queryPara);
T retVal = list.size() > 0 ? list.get(0) : null; T retVal = list.size() > 0 ? list.get(0) : null;
return retVal; return retVal;
} }
/**
* 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量
*
* @param pageSize 分页参数
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected List<MapRow> queryPageData(PageSizeReqVo pageSize, String sqlName, Object model) {
return this.queryPageData(MapRow.class, pageSize, sqlName, model);
}
/** /**
* 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量 * 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量
* *
...@@ -305,14 +432,43 @@ public abstract class BaseDaoSql { ...@@ -305,14 +432,43 @@ public abstract class BaseDaoSql {
* @return 查询的结果 * @return 查询的结果
*/ */
protected <T extends Object> List<T> queryPageData(Class<T> cls, PageSizeReq pageSize, String sqlName, Object model) { protected <T extends Object> List<T> queryPageData(Class<T> cls, PageSizeReq pageSize, String sqlName, Object model) {
return this.queryPageData(cls, pageSize, sqlName, model, null);
}
/**
* 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量
*
* @param cls 数据结果类型
* @param pageSize 分页参数
* @param sqlName SQL语句名称
* @param model 前台参数
* @param <T> 返回数据类型
* @return 查询的结果
*/
protected <T extends Object> List<T> queryPageData(Class<T> cls, PageSizeReq pageSize, String sqlName, Object model, QueryPara queryPara) {
SqlData from = this.getSql(sqlName); SqlData from = this.getSql(sqlName);
// 对SQL语句进行分页处理 // 对SQL语句进行分页处理
SqlData to = from.copy(); SqlData to = from.copy();
// 获取sql语句
to = getSqlQueryPara(to, queryPara, false);
to.setSql(from.getSql()); to.setSql(from.getSql());
to.addCode("{LIMIT}", " LIMIT " + pageSize.getPageStart() + "," + pageSize.getPageSize()); to.addCode("{LIMIT}", " LIMIT " + pageSize.getPageStart() + "," + pageSize.getPageSize());
return queryData(cls, to, model); return queryData(cls, to, model);
} }
/**
* 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量
*
* @param pageSize 分页参数
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected PageSizeData<MapRow> queryPage(PageSizeReqVo pageSize, String sqlName, Object model) {
return this.queryPage(MapRow.class, pageSize, sqlName, model);
}
/** /**
* 查询分页数据,仅仅只是查询分页中的数据。如:包含的总数据数量 * 查询分页数据,仅仅只是查询分页中的数据。如:包含的总数据数量
* *
...@@ -324,6 +480,20 @@ public abstract class BaseDaoSql { ...@@ -324,6 +480,20 @@ public abstract class BaseDaoSql {
* @return 查询的结果 * @return 查询的结果
*/ */
protected <T extends Object> PageSizeData<T> queryPage(Class<T> cls, PageSizeReqVo pageSize, String sqlName, Object model) { protected <T extends Object> PageSizeData<T> queryPage(Class<T> cls, PageSizeReqVo pageSize, String sqlName, Object model) {
return queryPage(cls, pageSize, sqlName, model, null);
}
/**
* 查询分页数据,仅仅只是查询分页中的数据。如:包含的总数据数量
*
* @param cls 数据结果类型
* @param pageSize 分页参数
* @param sqlName SQL语句名称
* @param model 前台参数
* @param <T> 返回数据类型
* @return 查询的结果
*/
protected <T extends Object> PageSizeData<T> queryPage(Class<T> cls, PageSizeReqVo pageSize, String sqlName, Object model, QueryPara queryPara) {
// 获取需要执行的SQL语句 // 获取需要执行的SQL语句
SqlData from = this.getSql(sqlName); SqlData from = this.getSql(sqlName);
...@@ -334,6 +504,7 @@ public abstract class BaseDaoSql { ...@@ -334,6 +504,7 @@ public abstract class BaseDaoSql {
// 对SQL语句进行分页处理 // 对SQL语句进行分页处理
SqlData to = from.copy(); SqlData to = from.copy();
to = getSqlQueryPara(to, queryPara, false);
to.addCode("{LIMIT}", " LIMIT " + pageSize.getPageStart() + "," + pageSize.getPageSize()); to.addCode("{LIMIT}", " LIMIT " + pageSize.getPageStart() + "," + pageSize.getPageSize());
// 按照分页查询数据 // 按照分页查询数据
...@@ -360,63 +531,6 @@ public abstract class BaseDaoSql { ...@@ -360,63 +531,6 @@ public abstract class BaseDaoSql {
return data; return data;
} }
/**
* 根据SQL语句信息查询数据
*
* @param sqlData SQL语句信息
* @param model 前台参数
* @return 查询的结果
*/
protected List<MapRow> queryData(SqlData sqlData, Object model) {
return this.queryData(MapRow.class, sqlData, model);
}
/**
* 查询不分页数据
*
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected List<MapRow> query(String sqlName, Object model) {
return this.query(MapRow.class, sqlName, model);
}
/**
* 查询第一条数据
*
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected MapRow queryFirst(String sqlName, Object model) {
return this.queryFirst(MapRow.class, sqlName, model);
}
/**
* 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量
*
* @param pageSize 分页参数
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected List<MapRow> queryPageData(PageSizeReqVo pageSize, String sqlName, Object model) {
return this.queryPageData(MapRow.class, pageSize, sqlName, model);
}
/**
* 查询分页数据,仅仅只是查询分页中的数据,不查询分页信息。如:包含的总数据数量
*
* @param pageSize 分页参数
* @param sqlName SQL语句名称
* @param model 前台参数
* @return 查询的结果
*/
protected PageSizeData<MapRow> queryPage(PageSizeReqVo pageSize, String sqlName, Object model) {
return this.queryPage(MapRow.class, pageSize, sqlName, model);
}
/** /**
* 获取SQL语句的参数 * 获取SQL语句的参数
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment