Java全栈开发---Java ERP系统开发:商业ERP(四)通用工具类的抽取

(2)删除IDepBiz当中的方法,继承上面创建好的接口

package com.itzheng.erp.biz;

import com.itzheng.erp.entity.Dep;

/*

  • 部门业务接口

*/

public interface IDepBiz extends IBaseBiz {

}

(3)创建BaseBiz实现类,将DepBiz(替换DepDao为BaseDao,depDao替换成baseDao,将Dep改写为T,将dep改写为t)

package com.itzheng.erp.biz.impl;

import java.util.List;

import com.itzheng.erp.biz.IBaseBiz;

import com.itzheng.erp.dao.IBaseDao;

import com.itzheng.erp.entity.Dep;

public class BaseBiz implements IBaseBiz {

/*

  • 数据访问层的调用

*/

private IBaseDao baseDao;

public void setBaseDao(IBaseDao baseDao) {

this.baseDao = baseDao;

}

@Override

public List getList() {

// TODO Auto-generated method stub

return baseDao.getList();

}

@Override

public List getList(T t1, T t2, Object param, int firstResult, int maxResults) {

return baseDao.getList(t1, t2, param, firstResult, maxResults);

}

@Override

public long getCount(T t1, T t2, Object param) {

return baseDao.getCount(t1, t2, param);

}

@Override

public void add(T t) {

System.out.println(t);

baseDao.add(t);

}

@Override

public void delete(Long uuid) {

// TODO Auto-generated method stub

baseDao.delete(uuid);

}

@Override

public T get(Long uuid) {

return baseDao.get(uuid);

}

@Override

public void update(T t) {

baseDao.update(t);

}

}

(4)在DepBiz当中继承BaseBiz实现IDepBiz

package com.itzheng.erp.biz.impl;

import java.util.List;

import com.itzheng.erp.biz.IDepBiz;

import com.itzheng.erp.dao.IDepDao;

import com.itzheng.erp.entity.Dep;

/*

  • 部门业务实现

*/

public class DepBiz extends BaseBiz implements IDepBiz {

/*

  • 数据访问层的调用

*/

private IDepDao depDao;

public void setDepDao(IDepDao depDao) {

this.depDao = depDao;

super.setBaseDao(this.depDao);

}

}

4、抽取通用Action
(1)在erp_web当中创建,创建BaseAction

在这里插入图片描述

(2)将DepAction当中的所有方法都复制过来,替换DepBiz为BaseBiz,depBiz为baseBiz,替换Dep为T替换dep 为t

package com.itzheng.erp.action;

import java.io.IOException;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.alibaba.fastjson.JSON;

import com.itzheng.erp.biz.IBaseBiz;

public class BaseAction {

private IBaseBiz baseBiz;

public void setBaseBiz(IBaseBiz baseBiz) {

this.baseBiz = baseBiz;

}

// 属性驱动:条件查询

private T t1;

private T t2;

private Object param;

public Object getParam() {

return param;

}

public void setParam(Object param) {

this.param = param;

}

public T getT2() {

return t2;

}

public void setT2(T t2) {

this.t2 = t2;

}

public T getT1() {

return t1;

}

public void setT1(T t1) {

this.t1 = t1;

}

private int page;// 页码

private int rows;// 每页的记录数

public int getPage() {

return page;

}

public void setPage(int page) {

this.page = page;

}

public int getRows() {

return rows;

}

public void setRows(int rows) {

this.rows = rows;

}

// 条件查询

public void getList() {

System.out.println(“页码:” + page + “记录数:” + rows);

int firstResult = (page - 1) * rows;

List list = baseBiz.getList(t1, t2, param, firstResult, rows);

long total = baseBiz.getCount(t1, t2, param);// 查询数据的条数

// 把部门列表转换为JSON字符串

// {{total: total, rows:[]};}

Map<String, Object> mapData = new HashMap<String, Object>();

mapData.put(“total”, total);

mapData.put(“rows”, list);

String listString = JSON.toJSONString(mapData);

write(listString);

}

/*

  • 查询所有部门

*/

public void list() {

/*

  • 调用业务部门的业务,查询所有部门信息

*/

List list = baseBiz.getList();

// 把部门列表转换为JSON字符串

String listString = JSON.toJSONString(list);

write(listString);

}

/*

  • 新增的修改

*/

private T t;

public T getT() {

return t;

}

public void setT(T t) {

this.t = t;

}

public void add() {

// {“success”:true,“message”:“”}

// 返回前端的JSON数据

System.out.println(t + “------------------------------------”);

Map<String, Object> rtn = new HashMap<String, Object>();

try {

baseBiz.add(t);

rtn.put(“success”, true);

rtn.put(“message”, “新增成功”);

} catch (Exception e) {

e.printStackTrace();

rtn.put(“success”, false);

rtn.put(“message”, “新增失败”);

}

// 向集合当中添加一部分数据,然后将map集合转换为JSON数据输出到页面上

write(JSON.toJSONString(rtn));

}

/*

  • 删除

*/

private long id;

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

/**

  • 删除

  • @param jsonString

*/

public void delete() {

try {

baseBiz.delete(id);

ajaxReturn(true, “删除成功”);

} catch (Exception e) {

e.printStackTrace();

ajaxReturn(false, “删除失败”);

}

}

/*

  • 通过编号查询对象

*/

public void get() {

T t = baseBiz.get(id);

String jsonString = JSON.toJSONString(t);

System.out.println(“转换前:” + jsonString);

// 将JSON数据转换为MAP对象

// 转换为map对象

String jsonStringAfter = mapData(jsonString, “t”);

System.out.println(“转换后:” + jsonStringAfter);

write(jsonStringAfter);

}

/*

  • 修改

*/

public void update() {

try {

ajaxReturn(true, “更新成功”);

baseBiz.update(t);

} catch (Exception e) {

// TODO: handle exception

ajaxReturn(false, “更新失败”);

e.printStackTrace();

}

}

// JSON 数据字符串

// 要加上的前缀

public String mapData(String jsonString, String prefix) {

Map<String, Object> map = JSON.parseObject(jsonString);

// 存储key加上前缀后的值

Map<String, Object> dataMap = new HashMap<String, Object>();

// 给每个key值加上前缀

for (String key : map.keySet()) {

dataMap.put(prefix + “.” + key, map.get(key));

}

return JSON.toJSONString(dataMap);

}

public void ajaxReturn(boolean success, String message) {

// 返回前端的JSON数据

Map<String, Object> rtn = new HashMap<String, Object>();

rtn.put(“success”, success);

rtn.put(“message”, message);

write(JSON.toJSONString(rtn));

}

public void write(String jsonString) {

try {

// 响应对象

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType(“text/html;charset=utf-8”);

// 输出给页面

response.getWriter().write(jsonString);

System.out.println(jsonString);

} catch (IOException e) {

e.printStackTrace();

}

}

}

(3)改造DepAction

package com.itzheng.erp.action;

import java.io.IOException;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.alibaba.fastjson.JSON;

import com.itzheng.erp.biz.IDepBiz;

import com.itzheng.erp.entity.Dep;

/*

  • 部门Action

*/

public class DeptAction extends BaseAction {

private IDepBiz depBiz;

public void setDepBiz(IDepBiz depBiz) {

this.depBiz = depBiz;

super.setBaseBiz(this.depBiz);

}

}

5、抽取前端的(js代码封装)

在webapp下新建立一个js文件夹

在这里插入图片描述

在这里插入图片描述

在js文件夹下创建一个crud.js的文件

在这里插入图片描述

crud.js当中的内容,把dep.html里面的内容都复制到crud.js当中,将里面'dep替换为name+'_

//提交的方法

var method = “”;

$(function() {

$(‘#grid’).datagrid({

url : name + ‘_getList’,

columns : columns,

singleSelect : true,

pagination : true,

toolbar : [ {

text : ‘新增’,

iconCls : ‘icon-add’,

handler : function() {

method = “add”;

$(‘#editDlg’).dialog(‘open’);

}

} ]

});

$(‘#btnSearch’).bind(‘click’, function() {

// 把表单数据转换成json对象

var formData = $(‘#searchForm’).serializeJSON();

$(‘#grid’).datagrid(‘load’, formData);

});

$(‘#editDlg’).dialog({

title : ‘部门编辑’,

width : 300,

height : 200,

closed : true,// 窗口是是否为关闭状态, true:表示关闭

modal : true

// 模式窗口

});

$(‘#btnSave’).bind(‘click’, function() {

var formData = $(‘#editForm’).serializeJSON();

$.ajax({

url : name + ‘_’ + method,

data : formData,

dataType : ‘json’,

type : ‘post’,

success : function(rtn) {

$.messager.alert(“提示”, rtn.message, ‘info’, function() {

// 成功的话,我们要关闭窗口

$(‘#editDlg’).dialog(‘close’);

// 刷新表格数据

$(‘#grid’).datagrid(‘reload’);

});

}

});

});

});

/**

  • 删除部门

*/

function del(uuid) {

$.messager.confirm(“确认”, “确认要删除吗?”, function(yes) {

if (yes) {

$.ajax({

url : name + ‘_delete?id=’ + uuid,

dataType : ‘json’,

type : ‘post’,

success : function(rtn) {

$.messager.alert(“提示”, rtn.message, ‘info’, function() {

// 刷新表格数据

$(‘#grid’).datagrid(‘reload’);

});

}

});

}

});

}

/**

  • 修改部门

*/

function edit(uuid) {

// 弹出窗口

$(‘#editDlg’).dialog(‘open’);

// 清空表单内容

$(‘#editForm’).form(‘clear’);

method = “update”;

// 加载数据

$(‘#editForm’).form(‘load’, name + ‘_get?id=’ + uuid);

}

dep.html里面先定义name=“dep”,colums=[];因为他们是具体某个实体类的私有内容

在这里插入图片描述

6、Dep.html修改
部门管理

href=“ui/themes/default/easyui.css”>

style=“padding-left: 4px; border-bottom: 0px;”>

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

oper += ’ <a href=“javascript:void(0)” οnclick="del(’

  • row.uuid + ‘)">删除’;

return oper;

} }

] ]

style=“padding-left: 4px; border-bottom: 0px;”>

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-fF7aWozG-1714818208682)]

[外链图片转存中…(img-pTF596ZW-1714818208682)]

[外链图片转存中…(img-x5Gakmb4-1714818208682)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值