myshop 概述



项目结构

my-shop-dependencies:管理jar包的版本,所有项目依赖此项目
my-shop-commons:项目通用工具、实体类
my-shop-domain: POJO类,对于数据库一张表
my-shop-web-admin:后台管理功能
my-shop-web-api、my-shop-web-ui:商城前端展示部分,目前还没开发
BaseDao
public interface BaseDao<T> { int create(T model); int update(T model); int delete(int id); T getById(int id); }
BaseDao定义了通用的数据操作接口其它具体的操作接口都继承该dao
public interface TbUserDao extends BaseDao<TbUser> { TbUser getByUserNameAndPasswrod(Map<String,String> param); List<TbUser> getByPage(PageQuery<TbUserQuery> pageQuery); int getCount(PageQuery<TbUserQuery> pageQuery); }
TbUserDao继承BaseDao并定义了自己特有的一些接口
BaseService
public interface BaseService<T extends BaseEntity> { BaseResult create(T model); T getById(int id); BaseResult update(T model); BaseResult delete(int id); }
BaseService定义通用的服务接口,T 就是某个具体的domain对象
然后给这个通用服务接口定义一个通用的实现 BaseServiceImpl。实现通用的CRUD
public abstract class BaseServiceImpl<T extends BaseEntity,D extends BaseDao<T>> implements BaseService<T> { @Autowired protected D dao; @Override public BaseResult create(T model) { BaseResult baseResult = EntityValidator.validate(model); if (!baseResult.isSuccess()) { return baseResult; } model.setCreated(new Date()); model.setUpdated(new Date());
