BaseServiceとその実現類
4992 ワード
BaseServiceとその実現類
BaseServiceコードは以下の通りです。package comp.gx.com。import java.io.Serializable;import java.util.List;import comp.gx.vo.SelectOption;
public interface BaseService{
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{
: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 ↑
)