代码优化

yun-zuoyi
alwaysfrin 7 years ago
parent a34c1e9f63
commit ab06c1e165

@ -82,6 +82,16 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
public int deleteWeaklyByProperties(String[] propNames, Object[] objValues);
/**
*
* @return count
*/
public int updateValidStatusById(ID id,int status);
public int updateValidStatusByIds(Long[] ids,int status) ;
public int updateValidStatusByProperty(String propName, Object propValue,int status);
public int updateValidStatusByPropertyIn(String propName, Object[] propValues,int status);
public int updateValidStatusByProperties(String[] propNames, Object[] objValues,int status);
/**
*
* @param conditionName
* @param conditionValue

@ -222,6 +222,59 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public int updateValidStatusById(ID id,int status) {
return updateValidStatusByProperty("id", id,status);
}
@Override
public int updateValidStatusByIds(Long[] ids,int status) {
return updateValidStatusByPropertyIn("id", ids,status);
}
@Override
public int updateValidStatusByProperty(String propName, Object propValue,int status) {
return updateValidStatusByProperties(new String[] { propName }, new Object[] { propValue },status);
}
/**
*
* @return
*/
@Override
public int updateValidStatusByPropertyIn(String propName, Object[] propValues,int status) {
if(propValues != null && propValues.length > 0){
String hql = "update " + persistentClass.getName() + " model set model.isValid = :isValid where model."+propName+" in(:"+propName+") ";
Query query = entityManager.createQuery(hql);
query.setParameter("isValid",status);
query.setParameter(propName, Arrays.asList(propValues));
return query.executeUpdate();
}else{
throw new IllegalArgumentException("弱删除失败:"+propName+":" + propValues);
}
}
/**
*
* @return
*/
@Override
public int updateValidStatusByProperties(String[] propName, Object[] propValue,int status) {
if ((propName != null) && (propName.length > 0) && (propValue != null) && (propValue.length > 0) && (propValue.length == propName.length)) {
StringBuffer sb = new StringBuffer("update " + persistentClass.getName() + " model set model.isValid = :isValid where 1=1 ");
appendQL(sb,propName,propValue);
Query query = entityManager.createQuery(sb.toString());
query.setParameter("isValid",status);
setParameter(query,propName,propValue);
return query.executeUpdate();
}else{
throw new IllegalArgumentException("弱删除失败:"+propName+":" + propValue);
}
}
@Override
public int updateByProperties(String conditionName, Object conditionValue, String propertyName, Object propertyValue) {
return updateByProperties(new String[] { conditionName }, new Object[] { conditionValue }, new String[] { propertyName }, new Object[] { propertyValue });
}

@ -198,6 +198,18 @@ public class HqlPack {
}
/**
* Stringequal
* @param columnName
* @param result
*/
public static void getStringEqualPackOr(String data,String columnName, StringBuffer result) {
if(data != null && data.trim().length() > 0){
data = getSafeParam(data);
result.append(" or model."+columnName+" = '" + data + "'");
}
}
/**
* longintequal
* @param columnName
* @param result
@ -214,6 +226,18 @@ public class HqlPack {
* @param columnName
* @param result
*/
public static void getNumEqualPackOr(Object data,String columnName, StringBuffer result) {
if(data!=null&&Long.parseLong(data.toString()) > 0){
data = getSafeParam(data);
result.append(" or model."+columnName+" = " + data + "");
}
}
/**
* longintequal
* @param columnName
* @param result
*/
public static void getNumEqualPackForZero(Object data,String columnName, StringBuffer result) {
if(data!=null&&Long.parseLong(data.toString()) >= 0){
data = getSafeParam(data);

Loading…
Cancel
Save