BaseServiceとその実現類

4992 ワード

BaseServiceとその実現類
         :Eclipse、java
  :   
    :2020-05-08
service層では、基本的な添削方法をよく書きますが、多くのモジュールに似たような書き方があります。だから、よく使う添削調査を抽出してBaserServiceインターフェースを変えて、このインターフェースをBaserviceImplとして実現します。service層の実現類を通じてBaserviceImplを継承します。Override...先頭のオプションを選択して、対応する方法を選択して抽出し、抽出した後、方法の前にBean.setを追加すれば、対応する方法が使えます。ps:beanは注釈書きのbean名を指します。例:@Service("atClass Service")Ben名はatClass Serviceです。
BaseServiceコードは以下の通りです。package comp.gx.com。import java.io.Serializable;import java.util.List;import comp.gx.vo.SelectOption;
public interface BaseService{
//==========ProjectUtil    ↓
//ps:     vo SelectOption;

/**      /    ,like      null,      */
List selectSingleTableOrLike(PK startIndex,PK pageSize,String like);

/**       , like      null,      */
int totalRowsSingleTable(String like);

/**      /    ,, like      null,      */
List selectMultilistOrLike(PK startIndex,PK pageSize,String like);

/**       , like      null,      */
int totalRowsMultilist(String like);

/**  ,    record     null,          */
int insert(Model record);

/**  ,    record     null,           */
int insertSelective(Model record);

/**  ,    record     null,          */
int updateByPrimaryKey(Model record);

/**  ,    record     null,           */
int updateByPrimaryKeySelective(Model record);

/**  id  */
int deleteByKey(PK id);

/**  id  */
Model selectByKey(PK id);

/**     */
List selectOption();

/**      */
Model selectByName(String name);

List selectSingleTable();
//======Project Util拡張機能↑
BaseServiceImplコードは以下の通りです。package comp.gx.com.impl;import java.util.List;import org.springframe ewek.web.com ntxt.Contintext Loader;import org.springframe ewark.web.co.ntenxt.WebApplication Context;import come.gx.com.BaseService;import comp.gx.com.MyBatis BaseDao;import comple.gx.exception.Message Exception;import comp.gx.vo.SelectOption;public abstract class BaserviceImpl implements BaseService{
//==========ProjectUtil    ↓
/**  :
 *       MyBatisBaseDao   ,      vo SelectOption;
 * 
 *              ,           mapper/dao ,
 *              。
 */

protected ThreadLocal bean = new ThreadLocal(); 	
private ThreadLocal> threadLocalBaseDao = new ThreadLocal>();
private MyBatisBaseDao baseDao;

private void getBean() { 		if(bean.get()==null) { 			throw new MessageException(403, "    "); 		}
	WebApplicationContext act = ContextLoader.getCurrentWebApplicationContext(); 		
	baseDao =(MyBatisBaseDao) act.getBean(bean.get()); 		//System.err.println("bean   :"+bean.get()+";     :"+baseDao); 		threadLocalBaseDao.set(baseDao);
}

/**      /    ,like      null,      */
@Override
public List selectSingleTableOrLike(Integer startIndex, Integer pageSize, String like) {
	getBean();
	return threadLocalBaseDao.get().selectSingleTableByPage(startIndex, pageSize,like);
}

/**          */
@Override
public int totalRowsSingleTable(String like) {
	getBean();
	return threadLocalBaseDao.get().totalRowsSingleTable(like);
}

/**      /    ,, like      null,      */
@Override
public List selectMultilistOrLike(Integer startIndex, Integer pageSize, String like) {
	getBean();
	return threadLocalBaseDao.get().selectMultilist(startIndex, pageSize, like);
}

/**          */
@Override
public int totalRowsMultilist(String like) {
	getBean();
	return threadLocalBaseDao.get().totalRowsMultilist(like);
}

/**  ,    record     null,          */
@Override
public int insert(T record) {
	getBean();
	return threadLocalBaseDao.get().insert(record);
}

/**  ,    record     null,           */
@Override
public int insertSelective(T record) {
	getBean();
	return threadLocalBaseDao.get().insertSelective(record);
}

/**  ,    record     null,          */
@Override
public int updateByPrimaryKey(T record) {
	getBean();
	return threadLocalBaseDao.get().updateByPrimaryKey(record);
}

/**  ,    record     null,           */
@Override
public int updateByPrimaryKeySelective(T record) {
	getBean();
	return threadLocalBaseDao.get().updateByPrimaryKeySelective(record);
}

/**  id  */
@Override
public int deleteByKey(Integer id) {
	getBean();
	return threadLocalBaseDao.get().deleteByPrimaryKey(id);
}

/**  id  */
@Override
public T selectByKey(Integer id) {
	getBean();
	return (T) threadLocalBaseDao.get().selectByPrimaryKey(id);
}

/**     */
@Override
public List selectOption() {
	getBean();
	return threadLocalBaseDao.get().SelectOption();
}

/**      */
@Override
public T selectByName(String name) {
	getBean();
	return threadLocalBaseDao.get().selectByName(name);
}

/**      */
@Override
public List selectSingleTable() {
	getBean();
	return threadLocalBaseDao.get().selectSingleTable();
}

//==========ProjectUtil    ↑
)