Esempio n. 1
0
  @Override
  public int del(Object id, Class clazz) throws Exception {
    EntityInfo entityInfo = ClassUtils.getEntityInfoByClazz(clazz);
    if (entityInfo == null) {
      throw new DaoException("无效的实体类class");
    }

    SqlHelper sqlHelper = SqlHelper.getDeleteHelper(clazz);
    sqlHelper.append(" WHERE ").append(entityInfo.getPkClumnName()).append("=?");
    sqlHelper.setParameters(id);
    return del(sqlHelper, clazz);
  }
Esempio n. 2
0
  @Override
  public Map<String, Object> findMapById(Object id, Class clazz) throws Exception {

    EntityInfo entityInfo = ClassUtils.getEntityInfoByClazz(clazz);

    if (entityInfo == null) {
      throw new DaoException("无效的实体类class");
    }

    SqlHelper sqlHelper = SqlHelper.getSelectHelper(clazz);
    sqlHelper.append(" AND ").append(entityInfo.getPkClumnName()).append("=?");
    sqlHelper.setParameters(id);
    return searchMapForOne(sqlHelper);
  }
Esempio n. 3
0
 @Override
 public void batchDel(List<Object> ids, Class clazz) throws Exception {
   EntityInfo entityInfo = ClassUtils.getEntityInfoByClazz(clazz);
   if (entityInfo == null) {
     throw new DaoException("无效的实体类class");
   }
   Object[] objects = new Object[ids.size()];
   Arrays.fill(objects, "?");
   SqlHelper sqlHelper = SqlHelper.getDeleteHelper(clazz);
   sqlHelper
       .append(" WHERE ")
       .append(entityInfo.getPkClumnName())
       .append(" IN (")
       .append(StringUtils.join(objects, ","))
       .append(")");
   update(sqlHelper.getSql(), ids);
 }
Esempio n. 4
0
  public SqlHelper getUpdateSql(Map<String, Object> object, EntityInfo entityInfo) {

    Object id = object.get(entityInfo.getPkName());

    if (id == null) {
      throw new DaoException("缺少主键id参数");
    }

    object.remove(entityInfo.getPkName());

    SqlHelper sqlHelper = new SqlHelper("UPDATE ");
    sqlHelper.append(entityInfo.getTableName()).append(" SET ");
    //        List<String> columns = new ArrayList<String>();
    List<Object> values = new ArrayList<Object>();
    Map<String, String> ptcMap = ClassUtils.propToColumnMap.get(entityInfo.getClazzName());
    StringBuilder columnSql = new StringBuilder();
    for (Map.Entry<String, Object> entry : object.entrySet()) {
      if (entry.getValue() != null) {
        values.add(entry.getValue());
        if (!"".equals(columnSql.toString())) {
          columnSql.append(",");
        }
        columnSql.append(ptcMap.get(entry.getKey()));
        columnSql.append("=");
        columnSql.append("?");
      }
    }
    if (values.size() < 1) {
      throw new DaoException("没有要更新的参数");
    }

    sqlHelper.append(columnSql.toString());
    sqlHelper.append(" WHERE ");
    sqlHelper.append(entityInfo.getPkClumnName());
    sqlHelper.append("=?");
    return sqlHelper;
  }