简单的ssm+layui项目

简单的ssm+layui项目

1.项目介绍

1.项目的模块划分

项目处于对汽车4s维修店出发,总共有6个模块,其中包括维修工单管理、结算订单管理、还车管理、登录管理、汽车配件管理、系统管理,核心模块为维修工单管理与结算订单管理

2.项目的主要技术

项目后台框架采用 mybatis+spring+springmvc 前端使用的是layui
权限使用的是shiro框架 分页使用的是mybatis的插件pagehelper 对配件的查询使用了Lucene技术 登录实现了三方登录(维修登录) 对订单查询实现了cxf技术

2.项目搭建

GitHub地址:https://github.com/createMoreByMe/rpms.git
1.项目结构
采用分模块开发
简单的ssm+layui项目_第1张图片

2.basic-core 基本核心代码模块
basic-core主要放入我们总项目的基本父类
1.BaseMapper

package cn.xxx.basic.mapper;

import cn.xxx.basic.query.BaseQuery;
import com.github.pagehelper.Page;

import java.util.List;

/**
 * 基本的CRUD和分页查询的父类
 * @param 
 */
public interface BaseMapper {
    void insert(T t);

    void deleteByPrimaryKey(Long id);

    void updateByPrimaryKey(T t);

    T selectByPrimaryKey(Long id);

    List selectAll();

    /**根据分页条件得到查询结果
     * @param query
     * @return
     */
    Page loadDataByQuery(BaseQuery query);
}

2.IBaseService
基本service的接口,定义我们需要的crud接口方法

package cn.xxx.basic.service;

import cn.xxx.basic.query.BaseQuery;
import cn.xxx.basic.utils.PageList;


import java.util.List;

public interface IBaseService {

    void add(T t);

    void delete(Long id);

    void update(T t);

    T get(Long id);

    List getAll();

    /**根据分页条件返回查询结果
     * @param query
     * @return
     */
    PageList queryPage(BaseQuery query);
}

3.BaseServiceImpl
基本service的实现,这里的事物是通过后面Springaop的配置加入事务,并且采用钩子的思想,将子类联系在一起,子类不需要在配置事物

package cn.xxx.basic.service.impl;


import cn.xxx.basic.mapper.BaseMapper;
import cn.xxx.basic.query.BaseQuery;
import cn.xxx.basic.service.IBaseService;
import cn.xxx.basic.utils.PageList;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;

import java.util.List;


    public abstract class BaseServiceImpl implements IBaseService {

        //Basic没有引入spring相关包,不能使用注解注入,在具体service上实现本方法
        protected abstract BaseMapper getMapper();

        @Override
    public void add(T t) {

        getMapper().insert(t);
       // int i=1/0;
    }

    @Override
    public void delete(Long id) {
        getMapper().deleteByPrimaryKey(id);
    }

    @Override
    public void update(T t) {
        getMapper().updateByPrimaryKey(t);
    }

    @Override
    public T get(Long id) {
        return getMapper().selectByPrimaryKey(id);
    }

    @Override
    public List getAll() {
        return getMapper().selectAll();
    }

    /**
     * 返回的pageList对象 其中含有总条数 和总数据
     */
    @Override
    public PageList queryPage(BaseQuery query) {
        Page objects = PageHelper.startPage(query.getPage(), query.getLimit());
        //拿到分页后的总数据
        getMapper().loadDataByQuery(query);
        return new PageList<>(objects.getTotal(), objects.getResult());
    }
}

4.BasePage
基本分页功能,这里考虑到layui需要的分页数据,所以在字段提供 页数page和条数limit

package cn.xxx.basic.query;

//基本查询对象
public class BaseQuery {
    private Integer page=1;

    private Integer limit=10;

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }
}

4.pom.xml
需要导入工具的依赖



    
        carservice-total
        cn.xxx.myteam
        1.0-SNAPSHOT
    
    4.0.0

    basic-core

    
        
        
            basic-utils
            cn.xxx.myteam
            1.0-SNAPSHOT
        

        
            junit
            junit
            4.11
            test
        
        
            javax.servlet
            servlet-api
            2.4
            provided
        

        
        
            com.github.pagehelper
            pagehelper
            5.0.1
        
    

    
        basic-core
        
            
                
                    maven-clean-plugin
                    3.0.0
                
                
                
                    maven-resources-plugin
                    3.0.2
                
                
                    maven-compiler-plugin
                    3.7.0
                
                
                    maven-surefire-plugin
                    2.20.1
                
                
                    maven-war-plugin
                    3.2.0
                
                
                    maven-install-plugin
                    2.5.2
                
                
                    maven-deploy-plugin
                    2.8.2
                
            
        
    

3.rpms-common
项目的domain和query
pom.xml



    
        carservice-total
        cn.xxx.myteam
        1.0-SNAPSHOT
    
    4.0.0

    prms-mapper

    
        E:/soft/software/idea/workspace/carservice-total
    


    
        
            rpms-common
            cn.xxx.myteam
            ${project.version}
        
        
            basic-core
            cn.xxx.myteam
            ${project.version}
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-aop
            ${spring.version}
        

        
            org.springframework
            spring-aspects
            ${spring.version}
        

        
            org.springframework
            spring-jdbc
            ${spring.version}
        

        
            org.springframework
            spring-test
            ${spring.version}
        

        
            junit
            junit
            3.8.1
            test
        

        
            org.mybatis
            mybatis
            3.2.3
        

        
            mysql
            mysql-connector-java
            5.1.20
        

        
            commons-dbcp
            commons-dbcp
            1.3
        

        
            log4j
            log4j
            1.2.17
        

        
            org.mybatis
            mybatis-spring
            1.2.2
        

        
            cglib
            cglib
            2.2.2
        

        
            junit
            junit
            4.11
            test
        
        
        
            org.mybatis.generator
            mybatis-generator-core
            1.3.5
        


    

    
        crm-mapper
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    true
                    true
                
            
        
    


4.rpms-mapper
项目的dao层,操作数据库

在这里插入代码片

    
        carservice-total
        cn.xxx.myteam
        1.0-SNAPSHOT
    
    4.0.0

    rpms-service

    
        
            cn.xxx.myteam
            prms-mapper
            ${project.version}
        
        
            junit

你可能感兴趣的:(ssm,ssm+layui,三方登录,Lucene,百度地图,shiro)