BaseService类-java cms开发三

2019-03-17 01:14|来源: 书生

项目还是分成实体、DAO层、业务逻辑层和视图层,本节是业务逻辑层。


因为每个业务逻辑层都会用到相同的方法,我又不想在service层用接口,直接用普通的类就好了。

先定义一个Service的基类BaseService.java,这个类使用泛型:

package com._656463.core.service;
 
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import com._656463.core.dao.DAO;
import com._656463.core.util.PageUtil;
import com._656463.core.util.SystemContext;
 
public class BaseService<T> {
    @Autowired
    private DAO<T> baseDao;
 
    /**
     * 保存实体
     * 
     * @param entity
     *            实体id
     */
    public int insert(Object entity) {
        return baseDao.insert(entity);
    }
 
    /**
     * 更新实体
     * 
     * @param entity
     *            实体id
     */
    public int update(Object entity) {
        return baseDao.update(entity);
    }
 
    /**
     * 删除实体
     * 
     * @param entityClass
     *            实体类
     * @param entityids
     *            实体id数组
     */
    public int delete(Serializable... entityids) {
        return baseDao.delete(entityids);
    }
 
    /**
     * 获取实体
     * 
     * @param <T>
     * @param entityClass
     *            实体类
     * @param entityId
     *            实体id
     * @return
     */
    public T findById(Serializable entityId) {
        return baseDao.findById(entityId);
    }
 
    /**
     * 根据参数获取数据列表
     * 
     * @param params
     * @return
     */
    public List<T> findScrollDataList(Map<Object, Object> params) {
        return baseDao.findScrollDataList(params);
    }
 
    /**
     * 根据参数获取记录数
     * 
     * @param params
     * @return
     */
    public int findScrollDataCount(Map<Object, Object> params) {
        return baseDao.findScrollDataCount(params);
    }
 
    /**
     * 根据参数获取分页数据
     * 
     * @param params
     * @return
     */
    public PageUtil<T> getPageList(Map<Object, Object> params) {
        int totalCount = findScrollDataCount(params);
        PageUtil<T> page = new PageUtil<T>(SystemContext.getPageSize(),
                totalCount, SystemContext.getPageIndex());
 
        Map<Object, Object> map = new HashMap<Object, Object>();
        map.put("start", page.getStart());
        map.put("size", page.getPageRecord());
 
        if (params != null && !params.isEmpty())
            map.putAll(params);
 
        List<T> objList = findScrollDataList(map);
 
        page.setDatas(objList);
 
        return page;
    }
}

其他类业务逻辑类只要继承该类即可,例如ChannelService

public class ChannelService extends BaseService<Channel>{
}


相关问答

更多

怎么快速入门java开发中的三大框架 ?

使用框架很简单,只需要两三天就搞定了!但是这些框架的底层运行的机制你懂吗?稍微把SSH框架封装一下,你可能就不知道什么是什么了?所我建议你最好还是各个击破!然后再来整合运用!快速入门的话,找一个相关的视频教程,看看别人这么配置的就可以了!

javaSE javaEE javaME 这三个有什么区别,有什么不同,是三种开发语言么

Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发: * Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。 * Java EE(Java Platfor ...

java cms

CMS是什么? CMS是Content Management System的缩写,意位“内容管理系统”。内容管理系统是一种位于Web前端(Web服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。 内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”还包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到互联网中的信息。 一个内容管理系统通常有几个要素:文档模板、脚本语言或标记语言、与数据库集成。内容的包含物右内嵌入页面的特殊标记控制。 ...

现在要改进自己公司的网站,基于java的cms那个开源的合适?希望能给出他们的优缺点

朋友,JAVA不是用来直接开发网站的,jsp脚本语言才是来开发网站的,如果你不需要安全性很高,又不是什么跟政府挂钩的网站或者没有很大信息数据存贮的网站用php+mysql 开发网站就可以了

请问有没有Java语言开发简单易用的CMS建站系统?

奇新CMS建站系统,Java跨平台,搜索引擎优化,支持整站换肤。包含奇新CMS系统服务器,本地测试很方便。有时间你可以了解一下。 参考资料:奇新CMS网站 http://www.cmmms.com

有谁会简单易用的 CMS 管理系统。要JAVA 开发的。

目前java开源的CMS系统还是很多的哦,但是看你是干什么用的了,我推荐两款业界成熟且非常常用的CMS开源系统: opencms : 非常有名气的哦,而且功能齐全,文档也丰富,但就是功能多,你要学习技术的话,感觉有点庞大,如果是快速搭建一个网站,还不错的 jspxcms: 才有了目前非常流行的技术spring mvc 、spring data 、shiro等技术,这些技术都是目前业界最新的,三四年都不会过时,是学习技术的好框架,但文档相对较少,如果要用,建议由好的java功底! 具体你去网上查查这 ...

cms用Java语言好还是用什么语言好

cms的Java版本目前有一些比较成熟的开源系统,比如jeecms,可以上网去找找看. 但相比而言,dedecms可能会更成熟更稳定一些.不过是PHP的.^____^

我自己开发了一套cms的模板,去哪里出售呢?

是自己原创的吗?是原创的话可以直接上架cms模板市场。当然你也可以去一些其他的源码商城卖拓宽你的销路,比如外星人源码商城就不错。

python可以代替java开发一些银行支付类型,cms也支持吗

你要是银行的话就不要用python,因为银行处理数据量太大。你要是网站,只是把支付的请求转给银行处理,就可以用python。 你说的cms要是指content management system的话用python的django framework就很方便。

JAVA的一个框架怎么有那么多的类?是不是一个人开发的?

hibernate最早都是一个人开发出来的,spring好象也是 不过后续版本估计就是众人之力开发出来的了``