Commit 300d5df5 authored by yanzg's avatar yanzg

Merge branch 'master' of http://192.168.0.204/yzg/yzg-util

parents 93aa74fe 164a8814
...@@ -41,6 +41,7 @@ public interface BaseDao { ...@@ -41,6 +41,7 @@ public interface BaseDao {
/** /**
* 删除数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.remove({orderId:1}); * 删除数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.remove({orderId:1});
* int field; * int field;
*
* @param model 需要删除的数据,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 需要删除的数据,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @return 删除的记录数量 * @return 删除的记录数量
*/ */
...@@ -49,9 +50,9 @@ public interface BaseDao { ...@@ -49,9 +50,9 @@ public interface BaseDao {
/** /**
* 加载数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.load({orderId:1}); * 加载数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.load({orderId:1});
* *
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> T load(Object model, Class<T> resultClass); <T extends Object> T load(Object model, Class<T> resultClass);
...@@ -60,9 +61,9 @@ public interface BaseDao { ...@@ -60,9 +61,9 @@ public interface BaseDao {
/** /**
* 加载列表数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.loadList({orderId:1}); * 加载列表数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.loadList({orderId:1});
* *
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> List<T> loadList(Object model, Class<T> resultClass); <T extends Object> List<T> loadList(Object model, Class<T> resultClass);
...@@ -70,13 +71,13 @@ public interface BaseDao { ...@@ -70,13 +71,13 @@ public interface BaseDao {
/** /**
* 加载分页数据 * 加载分页数据
* *
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配. * @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型 * @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型 * @param <T> 返回数据的类型
* @return 需要返回的数据 * @return 需要返回的数据
*/ */
<T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass); <T extends Object> PageSizeData<T> loadPage(PageSizeReqVo model, Class<T> resultClass);
/** /**
* 修改数据 * 修改数据
* *
...@@ -107,7 +108,7 @@ public interface BaseDao { ...@@ -107,7 +108,7 @@ public interface BaseDao {
* @param model 需要创建的数据 * @param model 需要创建的数据
* @return 创建的主键编号 * @return 创建的主键编号
*/ */
List<String> createArray(Object ...model); List<String> createArray(Object... model);
/** /**
* 保存数据,有主键时修改,无主键时创建 * 保存数据,有主键时修改,无主键时创建
...@@ -116,6 +117,7 @@ public interface BaseDao { ...@@ -116,6 +117,7 @@ public interface BaseDao {
* @return 保存的主键编号 * @return 保存的主键编号
*/ */
List<String> saveList(List model); List<String> saveList(List model);
/** /**
* 保存数据,有主键时修改,无主键时创建 * 保存数据,有主键时修改,无主键时创建
* *
...@@ -123,4 +125,22 @@ public interface BaseDao { ...@@ -123,4 +125,22 @@ public interface BaseDao {
* @return 保存的主键编号 * @return 保存的主键编号
*/ */
List<String> saveArray(Object... model); List<String> saveArray(Object... model);
/**
* 删除数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.remove({orderId:1});
* int field;
*
* @param model 需要删除的数据,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @return 删除的记录数量
*/
int removeList(List model);
/**
* 删除数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.remove({orderId:1});
* int field;
*
* @param model 需要删除的数据,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @return 删除的记录数量
*/
int removeArray(Object... model);
} }
...@@ -6,7 +6,10 @@ import com.yanzuoguang.util.base.ObjectHelper; ...@@ -6,7 +6,10 @@ import com.yanzuoguang.util.base.ObjectHelper;
import com.yanzuoguang.util.exception.CodeException; import com.yanzuoguang.util.exception.CodeException;
import com.yanzuoguang.util.helper.DateHelper; import com.yanzuoguang.util.helper.DateHelper;
import com.yanzuoguang.util.helper.StringHelper; import com.yanzuoguang.util.helper.StringHelper;
import com.yanzuoguang.util.vo.*; import com.yanzuoguang.util.vo.InitDao;
import com.yanzuoguang.util.vo.MapRow;
import com.yanzuoguang.util.vo.PageSizeData;
import com.yanzuoguang.util.vo.PageSizeReqVo;
import java.util.*; import java.util.*;
...@@ -170,6 +173,37 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -170,6 +173,37 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
} }
} }
/**
* 删除数据
*
* @param model 需要删除的数据
* @return 删除的主键编号
*/
@Override
public int remove(Object model) {
// 获取来源主键
Object from = model;
String keyString = getInputKey(from);
// 当主键存在值时,直接通过主键删除
if (!StringHelper.isEmpty(keyString)) {
// 去掉其他非主键的属性
from = new HashMap<String, Object>(DaoConst.COLLECTION_INIT_SIZE);
this.setKeyString(from, keyString);
// 调用删除日志
this.check(DaoConst.OPERATOR_TYPE_REMOVE, keyString, from);
}
// 处理来源值
for (TableFieldVo fieldVo : this.table.getTable().getRemoveUpdate()) {
Object fromValue = ObjectHelper.get(model, fieldVo.inputName);
ObjectHelper.set(from, fieldVo.inputName, fromValue);
}
// 调用删除语句
SqlData sqlData = this.getSql(DaoConst.REMOVE);
return updateSql(sqlData, from);
}
/** /**
* 创建数据,当不传入了主键时,则会自动生成主键,传入时不会生成。 * 创建数据,当不传入了主键时,则会自动生成主键,传入时不会生成。
* *
...@@ -193,11 +227,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -193,11 +227,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public List<String> createArray(Object... model) { public List<String> createArray(Object... model) {
List<String> ret = new ArrayList<>(); return createList(Arrays.asList(model));
for (Object item : model) {
ret.add(this.create(item));
}
return ret;
} }
/** /**
...@@ -224,11 +254,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -224,11 +254,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/ */
@Override @Override
public List<String> updateArray(Object... model) { public List<String> updateArray(Object... model) {
List<String> ret = new ArrayList<>(); return updateList(Arrays.asList(model));
for (Object item : model) {
ret.add(this.update(item));
}
return ret;
} }
/** /**
...@@ -238,13 +264,14 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -238,13 +264,14 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* @return 保存的主键编号 * @return 保存的主键编号
*/ */
@Override @Override
public List<String> saveList(List model){ public List<String> saveList(List model) {
List<String> ret = new ArrayList<>(); List<String> ret = new ArrayList<>();
for (Object item : model) { for (Object item : model) {
ret.add(this.save(item)); ret.add(this.save(item));
} }
return ret; return ret;
} }
/** /**
* 保存数据,有主键时修改,无主键时创建 * 保存数据,有主键时修改,无主键时创建
* *
...@@ -252,13 +279,39 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -252,13 +279,39 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
* @return 保存的主键编号 * @return 保存的主键编号
*/ */
@Override @Override
public List<String> saveArray(Object... model){ public List<String> saveArray(Object... model) {
List<String> ret = new ArrayList<>(); return saveList(Arrays.asList(model));
}
/**
* 删除数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.remove({orderId:1});
* int field;
*
* @param model 需要删除的数据,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @return 删除的记录数量
*/
@Override
public int removeList(List model) {
int ret = 0;
for (Object item : model) { for (Object item : model) {
ret.add(this.save(item)); ret += this.remove(item);
} }
return ret; return ret;
} }
/**
* 删除数据,可以用于父子表删除,如通过订单删除游客信息 visitorDao.remove({orderId:1});
* int field;
*
* @param model 需要删除的数据,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @return 删除的记录数量
*/
@Override
public int removeArray(Object... model) {
return removeList(Arrays.asList(model));
}
/** /**
* 检测数据 * 检测数据
* *
...@@ -281,37 +334,6 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao { ...@@ -281,37 +334,6 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
} }
} }
/**
* 删除数据
*
* @param model 需要删除的数据
* @return 删除的主键编号
*/
@Override
public int remove(Object model) {
// 获取来源主键
Object from = model;
String keyString = getInputKey(from);
// 当主键存在值时,直接通过主键删除
if (!StringHelper.isEmpty(keyString)) {
// 去掉其他非主键的属性
from = new HashMap<String, Object>(DaoConst.COLLECTION_INIT_SIZE);
this.setKeyString(from, keyString);
// 调用删除日志
this.check(DaoConst.OPERATOR_TYPE_REMOVE, keyString, from);
}
// 处理来源值
for (TableFieldVo fieldVo : this.table.getTable().getRemoveUpdate()) {
Object fromValue = ObjectHelper.get(model, fieldVo.inputName);
ObjectHelper.set(from, fieldVo.inputName, fromValue);
}
// 调用删除语句
SqlData sqlData = this.getSql(DaoConst.REMOVE);
return updateSql(sqlData, from);
}
/** /**
* 加载数据 * 加载数据
* *
......
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