关键字过滤

manager中的过滤方法,其中用到了alibaba的StringUtil类
在toolkit-common-lang-1.0.jar里面的
com.alibaba.common.lang.StringUtil

public String filterString(String body) {
   if (body == null) {
    return body;
   }
   String back = body;
   List customerTaboos = customerTabooDAO.loadTaboosFromMap();

   for (int i = 0; i < customerTaboos.size(); i++) {
    CustomerTaboo taboo = (CustomerTaboo) customerTaboos.get(i);
    String origal = taboo.getTaboo();
    String replace = taboo.getReplacement();
    back = StringUtil.replace(back, origal, replace);
   }
   return back;
}

DAO层用了个简单的CACHE。不然每次过滤都去数据库拿。。。。就不好了

package com.megaeyes.ipcamera.dao.impl;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.megaeyes.ipcamera.dao.iface.CustomerTabooDAOImpl;
import com.megaeyes.ipcamera.dao.model.CustomerTaboo;

public class CustomerTabooDAOiBatis extends CustomerTabooDAOImpl {

private Map tabooMap;

public void init() {
   tabooMap = loadFromDB();
}

private Map loadFromDB() {
   return getSqlMapClientTemplate().queryForMap("CUSTOMER_TABOO_VIEW.getAllTaboosMap", null,
     "id");
}

public BigDecimal getCustomerTabooIdSeq() {
   BigDecimal customerTabooId = (BigDecimal) getSqlMapClientTemplate()
     .queryForObject("SequenceSQL.getCustomerTabooId", null);
   return customerTabooId;
}

public List loadTaboosFromMap() {
   List list = null;
   if (tabooMap == null || tabooMap.isEmpty()) {
    init();
   }
   if (tabooMap != null && !tabooMap.isEmpty()) {
    list = new ArrayList(tabooMap.size());
    Iterator it = tabooMap.keySet().iterator();
    for (; it.hasNext();) {
     CustomerTaboo taboo = (CustomerTaboo) tabooMap.get(it.next());
     list.add(taboo);
    }
   }
   return list;
}

public void delete(BigDecimal id) {
   deleteByPrimaryKey(id);
   init();
}

public void insertTaboo(CustomerTaboo customerTaboo) {
   customerTaboo.setId(getCustomerTabooIdSeq());
   insert(customerTaboo);
   init();
}

public void updateTaboo(CustomerTaboo customerTaboo) {
   updateByPrimaryKey(customerTaboo);
   init();
}

}

你可能感兴趣的:(java,DAO,cache)