Springboot+MybatisPlus+layui简易账单管理项目
1.项目整体效果如下:
2.数据库设计:
表一:
表二:
3.搭建项目
查询所有账单接口
查询所有账单的实现类
前段控制器
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.dubbo.config.annotation.Reference;
import com.sxt.service.IBillsService;
import com.sxt.utils.DataGridView;
import com.sxt.vo.BillsVo;
/**
前端控制器
@author DPF
@since 2019-09-04
*/
@Controller
@RequestMapping("/bills")
public class BillsController {@Reference
private IBillsService billService;/**
- 跳转到页面
*/
@RequestMapping(“toIndex”)
public String toIndex() {
return “index”;
}
/**
- 加载所有的数据
*/
@RequestMapping(“loadAllBills”)
@ResponseBody
public DataGridView loadAllBills(BillsVo billsVo) {
return this.billService.queryAllBills(billsVo);
}
/**
- 添加账单
*/
@RequestMapping(“addBill”)
@ResponseBody
public Map<String, Object> addBill(BillsVo billsVo) {
Map<String, Object> map =new HashMap<>();
Integer code =0;
String msg=“添加成功”;
try {
this.billService.save(billsVo);
} catch (Exception e) {
e.printStackTrace();
code=-1;
msg=“添加失败”;
}
map.put(“code”, code);
map.put(“msg”, msg);
return map;
}
}
- 跳转到页面
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.dubbo.config.annotation.Reference;
import com.sxt.domain.Billtype;
import com.sxt.service.IBilltypeService;
/**
前端控制器
@author DPF
@since 2019-09-04
*/
@Controller
@RequestMapping("/billtype")
public class BilltypeController {@Reference
private IBilltypeService billtypeService;
/**- 查询所有的账单类型
*/
@RequestMapping(“loadAllBillType”)
@ResponseBody
public List loadAllBillType(){
return this.billtypeService.list();
}
}
- 查询所有的账单类型
主页面
所有账单
记账管理
<!-- 数据表格开始 -->
<table class="layui-hide" id="billTable" lay-filter="billTable"></table><!-- 添加和修改的弹出层开始 -->
<div style="display: none;padding: 20px" id="saveOrUpdateDiv" ><form class="layui-form" lay-filter="dataFrm" id="dataFrm"><div class="layui-form-item"><label class="layui-form-label">收支类型:</label><div class="layui-input-block" id="radio_typeid">
</div><div class="layui-form-item"><label class="layui-form-label">标题:</label><div class="layui-input-block"><input class="layui-input" name="title" lay-verify="required" /></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">时间</label><div class="layui-input-inline"><input type="text" name="billtime" id="billtime"readonly="readonly" placeholder="yyyy-MM-dd HH:mm:ss"autocomplete="off" class="layui-input"></div></div><div class="layui-inline"><label class="layui-form-label">金额</label><div class="layui-input-inline"><input type="text" name="price" lay-verify="number"autocomplete="off"class="layui-input"></div></div></div><div class="layui-form-item"><label class="layui-form-label">说明:</label><div class="layui-input-block"><textarea class="layui-textarea" name="remark" lay-verify="content"></textarea></div></div><div class="layui-form-item" style="text-align: center;"><div class="layui-input-block"><button type="button" class="layui-btn layui-btn-normal layui-btn-sm layui-icon layui-icon-release" lay-filter="doSubmit" lay-submit="">提交</button><button type="reset" id="dataFrmResetBtn" class="layui-btn layui-btn-warm layui-btn-sm layui-icon layui-icon-refresh" >重置</button></div></div></form></div>
<!-- 添加和修改的弹出层结束 --><script type="text/javascript" src="/resources/layui/layui.js"></script><script type="text/javascript">layui.use([ 'jquery', 'layer', 'form', 'table','laydate' ], function() {var $ = layui.jquery;var layer = layui.layer;var form = layui.form;var table = layui.table;var laydate=layui.laydate;//渲染时间laydate.render({elem:'#startTime',type:'datetime'});laydate.render({elem:'#endTime',type:'datetime'});laydate.render({elem:'#billtime',type:'datetime'});//初始化查询条件和添加的类型$.get("/billtype/loadAllBillType",function(obj){var typeidDom=$("#typeid");var radio_typeid=$("#radio_typeid");var html="<option value=''>请选择类型</option>"var radioHtml="";$.each(obj,function(index,item){html+="<option value="+item.id+">"+item.name+"</option>";radioHtml+='<input type="radio" name="typeid" value='+item.id+' title='+item.name+'>';});typeidDom.html(html);radio_typeid.html(radioHtml);form.render("select");form.render("radio");})//渲染数据表格var tableIns=table.render({elem: '#billTable' //渲染的目标对象,url:'/bills/loadAllBills' //数据接口,title: '账单数据'//数据导出来的标题,height:'full-200',cellMinWidth:100 //设置列的最小默认宽度,page: true //是否启用分页,cols: [ [ //列表数据{field:'id', title:'ID',align:'center'},{field:'title', title:'标题',align:'center'},{field:'typename', title:'类型',align:'center'} ,{field:'billtime', title:'记录时间',align:'center'},{field:'price', title:'金额',align:'center'},{field:'remark', title:'备注',align:'center'}] ]});//模糊查询$("#doSearch").click(function(){var params=$("#searchFrm").serialize();tableIns.reload({url:"/bills/loadAllBills?"+params,page:{curr:1}})});$("#addBill").click(function(){openAddBill();});var url;var mainIndex;//打开添加页面function openAddBill(){mainIndex=layer.open({type:1,title:'添加账单',content:$("#saveOrUpdateDiv"),area:['800px','550px'],success:function(index){//清空表单数据 $("#dataFrm")[0].reset();form.val("dataFrm",{typeid:1});url="/bills/addBill";}});}//保存form.on("submit(doSubmit)",function(obj){//序列化表单数据var params=$("#dataFrm").serialize();$.post(url,params,function(obj){layer.msg(obj.msg);//关闭弹出层layer.close(mainIndex)//刷新数据 表格tableIns.reload();})});});
</script>
Springboot+MybatisPlus+layui简易账单管理项目相关推荐
- 基于Springboot+MybatisPlus+Layui的商品库存权限管理系统
一.基于Springboot+MybatisPlus+Layui的商品库存权限管理系统 此项目为基于Springboot+MybatisPlus+Layui的商品库存权限管理系统,主要支撑商品库存的系 ...
- SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【前端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】
前后端分离项目快速搭建[前端篇] 后端篇 前端篇 创建vue项目 安装所需工具 开始编码 1.在根目录下添加vue.config.js文件 2.编写main.js 3.编写App.vue 4.编写ax ...
- 1112_Vue+SpringBoot+Mybatis的简单员工管理项目
Vue+SpringBoot+Mybatis的简单员工管理项目 本文项目参考自:https://github.com/boylegu/SpringBoot-vue https://www.cnblog ...
- SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【后端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】
前后端分离项目快速搭建[后端篇] 数据库准备 后端搭建 1.快速创建个SpringBoot项目 2.引入依赖 3.编写代码快速生成代码 4.运行代码生成器生成代码 5.编写application.pr ...
- 图书管理系统(vue2 + springboot +mybatis-Plus)前后端分离项目
本人是大一在校学生,代码基本上是原创的,也有些写的不好的地方希望大佬轻点喷我, 本教学致力于让零基础的保姆级教学 准备阶段 学习vue2 , spring-boot ,mybatis-plus 的知识 ...
- 整合SpringBoot + MybatisPlus 搭建JAVA多模块项目基本骨架
SpringBoot SpringBoot可以让你简单.快速.方便的搭建一个Spring Web项目. Mybatis-Plus MP是国内人员开发的一个Mybatis的增强工具,在Mybat ...
- SpringBoot+MyBatisPlus+DataTables实现退货管理的添加和编辑时控制checkbox的回显选中
场景 SpringBoot+My BatisPlus+DataTables实现企业车间退货管理(学习企业级开发思想): https://blog.csdn.net/BADAO_LIUMANG_QIZH ...
- Vue+SpringBoot+Mybatis的简单员工管理项目
本文项目参考自:https://github.com/boylegu/SpringBoot-vue 这个项目主要讲的是一些概念,想要自己实现代码操作请看:https://www.cnblogs.com ...
- 1124——Vue+SpringBoot+Mybatis的简单员工管理项目
本文项目参考自:https://github.com/boylegu/SpringBoot-vue https://www.cnblogs.com/wlovet/p/8317282.html 为了完成 ...
最新文章
- 通过醉品商城改版反思网站改版的那些事
- 世界坐标系空间,页面空间,设备空间,物理设备空间
- 将redis加入到elk日志系统里
- 【Visual C++】游戏开发笔记之八——基础动画显示(二)游戏循环的使用
- word模板生成word报表文档
- grpc-go客户端源码分析
- devops实践指南_开发DevOps的实用指南:减少八卦的步骤
- 21 Qt中ui设计中的一些小知识点
- 电脑开机进不了桌面拒绝访问怎么办
- 【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点)
- python编程(基于twisted的client编程)
- IDEA代码格式化校验
- 电磁干扰类型以及--电感和磁珠
- 普通代码签名证书和EV代码签名证书的区别
- Requirement already satisfied:
- 0.5mm间距BGA芯片的PCB设计
- 设计模式(二)简单工厂模式
- Python 数据分析 git 工具使用 flask学习
- epub格式电子书剖析之一:文档构成
- uo和o的区别和用法_拼音o与uo如何区别使用
热门文章
- 58、自动喷水灭火系统的检测要求
- netlink怎么读_如何用netlink接口读取内核路由表
- 南京邮电大学CG-CTF平台Writeup
- 河北外国语学院对口计算机,河北外国语学院各批次专业报考代码,6月28日起你绝对要用!...
- 源码之家(很多源代码下载)
- 完美对接海康、大华、华为等等设备的Onvif/RTSP流媒体服务全终端无插件直播-本地安装启动...
- 类似于快手、美拍、抖音短视频录制SDK接入教程
- mac下npm安装全局组件报错
- Mac不休眠、恢复休眠的快捷设置
- 29岁才转行软件测试,目前31了,我的一些经历跟感受(中)