java 服务层 业务层,BaseService.java(Service业务层基类)

描述:Service业务层基类,所有service都应该继承该类

@Service public abstract class BaseService> {     /**      * 日志类      */     public Logger log = Logger.getLogger(BaseService.class);          protected Class modelClass; //M的反射类型     M model; //model对象          //在构造器将泛型绑定,并实例化     @SuppressWarnings("unchecked")     public BaseService(){         try {             Type genType = getClass().getGenericSuperclass();             if(genType instanceof ParameterizedType){                 ParameterizedType type = (ParameterizedType) genType;                 modelClass = (Class) type.getActualTypeArguments()[0];                 model = (M)modelClass.newInstance();             }         } catch (Exception e) {             e.printStackTrace();             log.error(e.getMessage());         }     }     /**      * 分页      */     public Page paginate(PageBean pageBean, Map paraMap) {         return null;     }          /**      * 新增保存      * @param m 需要保存的实体对象      * @return 生成的主键ID,如果返回0,说明新增失败      */     public Integer save(M m) throws Exception {         //获取对象主键字段的名称,默认主键名称为 id         String pkName = "id";         Table tb = (Table) m.getClass().getAnnotation(Table.class);         if(tb != null && StrKit.notBlank(tb.name()) && StrKit.notBlank(tb.pk())){             pkName = tb.pk();         }         if(m.save()){             return m.getInt(pkName);         }else{             return 0;         }     }     /**      * 修改保存      * @param m 需要修改保存的实体对象      * @return 受影响的行数,如果返回 1 说明修改成功,如果返回 0 说明修改失败      */         public Integer update(M m) throws Exception {         if(m.update()){             return 1;         }else{             return 0;         }     }     /**      * 根据主键ID查询返回实体对象      * @param id 主键ID      * @return      */     public M findById(Integer id) {         return model.findById(id);     }     /**      * 根据主键ID单条删除对象      * @param id 主键ID      * @return 受影响的行数,如果返回 1 说明删除成功,如果返回 0 说明删除失败      */     public Integer deleteById(Integer id) {         if(model.deleteById(id)){             return 1;         }else{             return 0;         }     }     /**      * 批量删除,待完善      * @param ids 主键ID以逗号隔开的字符串      * @return 受影响的行数      */     public Integer deleteByIds(String ids) {         //获取对象主键字段的名称,默认主键名称为 id         String tableName = modelClass.getSimpleName(); //暂时随便写的,待完善         String pkName = "id";         Table tb = (Table) model.getClass().getAnnotation(Table.class);         if(tb != null && StrKit.notBlank(tb.name()) && StrKit.notBlank(tb.pk())){             tableName = tb.name();             pkName = tb.pk();         }         return Db.update("delete from "+tableName+" where "+pkName+" in ("+ids+")");     } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值