AiSell_Day01

1.项目说明

名称:智能销售(商贸)系统 (aisell) (yxb) pss(进销存系统)

架构:springmvc+spring+springdatajpa

? shiro(权限框架)+ poi导入导出 +报表 highchart 等(辅助框架)

2.项目搭建(掌握)

昨天 spring+springdatajpa 完成respository
springmvc+spring+springdatajpa

今天:

(1)service写了

(2)Controller添加进来

(3)管理界面

(4)查询功能

3. service层结构(掌握)

抽取IBaseService – >写crud方法 以及 分页 还有高级查询方法

public interface IBaseService<T,ID extends Serializable> {
    //新增 或修改
    public void save(T t);
    //Long implements  Serializable
    //删除
    public void delete(ID id);
    //查询
    public T findOne(ID id);
    //查询所有
    public List<T> findAll();
    //根据Query拿到分页对象(分页)
    Page findPageByQuery(BaseQuery baseQuery);
    //根据Query拿到对应的所有数据(不分页)
    List<T> findByQuery(BaseQuery baseQuery);
    //根据jpql与对应的参数拿到数据
    List findByJpql(String jpql,Object... values);

}

抽取BaseServiceImpl–>实现IBaseService -->实现方法(调用repository层)

@Transactional(propagation = Propagation.SUPPORTS,readOnly = true)
public class BaseServiceImpl<T,ID extends Serializable> implements IBaseService<T,ID> {
    @Autowired
    private BaseRepository<T,ID> baseRepository;
    @Transactional
    public void save(T t) {
        baseRepository.save(t);
    }
    @Transactional
    public void delete(ID id) {
        baseRepository.delete(id);
    }
    public T findOne(ID id) {
        return baseRepository.findOne(id);
    }
    public List<T> findAll() {
        return baseRepository.findAll();
    }
    public Page findPageByQuery(BaseQuery baseQuery) {
        return baseRepository.findPageByQuery(baseQuery);
    }
    public List<T> findByQuery(BaseQuery baseQuery) {
        return baseRepository.findByQuery(baseQuery);
    }
    public List findByJpql(String jpql, Object... values) {
        return null;
    }
}

4. Controller层结构–和以前一模一样

搭建springmvc环境 – 配置文件 导包

applicationContext-mvc.xml

web.xml 配置 核心控制器 监听器 过滤器

5 引入easyui(拷贝组件)

(1)easyui 拷贝到项目里去

(2)把公共easyui的配置写到head.jsp这个文件

(3)完善 后台管理页面 的主页 main.jsp

? 主页 (布局 tabs 菜单)

6 高级查询和分页(掌握)

 @RequestMapping("/page")
    @ResponseBody
    public PageUi<Employee> page(EmployeeQuery employeeQuery){
        //查询数据 分页查询方法
       // List<Employee> employees = employeeService.findAll();
        Page page = employeeService.findPageByQuery(employeeQuery);
        //封装返回对象 必须要 total rows
        PageUi pageUi = new PageUi(page);
        return pageUi;
    }

(1)employeeQuery 接收前台传递过来 参数(查询参数 以及分页的参数)

(2) 调用findPageByQuery(employeeQuery)完成高级查询和分页

? Page page = employeeService.findPageByQuery(employeeQuery);

(3)封装easyui需要分页的返回对象

? PageUi pageUi = new PageUi(page);

7 完成员工的数据查询(思路)

employee.jsp

添加一个datagrid

完善分页

? (1)传递参数 page和 rows --后台通过BaseQuery对象

? (2)返回一个PageUi这个对象,这个对象封装返回参数
? total:总的条数

? rows:每页的数据

8. 员工删除(思路)

删除流程:

(1) 判断是否选中表格里面的一行数据

? a) 如果没有选中 提示选中一条数据

? b) 如果选中

? b1)提示您是否要确认删除数据,如果点击确认

? 取到id ,根据id 发送ajax请求,删除数据

? 删除完之后,重新加载表格

? b2) 没有点击确认

  delete:function(){
            //判断是表格否选中数据
           var row =  employeeGrid.datagrid('getSelected');
           if(row){
               //选中之后,在提示是否要确认删除
               $.messager.confirm('温馨提示:','亲,您忍心删除',function(result){
                   if(result){
                       //确定删除数据
                       //获取id
                       //发送ajax请求
                       $.get('/employee/delete',{id:row.id},function(result){
                           //{success:false,msg:'成功'}
                           if(result.success){
                               //重新加载数据表格
                               $.messager.alert('温馨提示:','操作成功','info');
                               employeeGrid.datagrid('reload');
                           }else{
                               $.messager.alert('温馨提示:',result.msg,'error');
                           }
                       })
                   }
               })
           }else{
               $.messager.alert('温馨提示:','亲,请选中一条数据进行删除!','info');
           }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值