文章目录
本文档以较老版本guns-v3.0.1 为例
1. 环境准备
以实际为准
2.导入项目
-
打开项目
-
修改为本机JDK
-
添加maven 【提前配置好maven环境】
guns-parent 下的pom.xml文件右击 ,找到Add as maven -
利用sql文件,导入到数据库中
-
自定义修改端口 【本机设置的8080】
-
数据库设置 【根据实际情况进行修改】
-
启动项目
-
出错最多原因 【mysql驱动 版本】
Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/spring/boot/starter/MybatisPlusAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is com.baomidou.mybatisplus.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause:java.sql.SQLException: Unknown system variable 'tx_isolation'
根据本机数据库版本修改maven中sql驱动版本即可, 本机修改版本为8.0及以上版本可正常运行
- 登录 初始账户:admin 密码:111111
3. guns 开发
3.1 准备数据库表
CREATE TABLE `my_order` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
`user` varchar(255) DEFAULT NULL COMMENT '下单人名称',
`place` varchar(255) DEFAULT NULL COMMENT '地点',
`goods` varchar(255) DEFAULT NULL COMMENT '商品名称',
`createtime` datetime DEFAULT NULL COMMENT '下单时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3
自定义添加一些数据
3.2 mybatis-plus 代码生成
-
修改为本机项目目录
-
修改为本机数据库设置
-
设置单独生成my_order表 【不加生成所有表】
-
运行后 删除TTT文件夹 【本项目无用】
-
自动生成业务代码
生成文件
3.3 菜单设置和全限配置
重新加载后 可显示页面
3.4 修改前端js文件
3.5 显示列表订单业务代码编写
package com.stylefeng.guns.modular.order.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.stylefeng.guns.common.persistence.dao.MyOrderMapper;
import com.stylefeng.guns.common.persistence.model.MyOrder;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
* 订单业务控制器
*
* @author fengshuonan
* @Date 2022-02-20 10:39:02
*/
@Controller
@RequestMapping("/order")
public class OrderController extends BaseController {
private String PREFIX = "/order/order/";
@Autowired
private MyOrderMapper myOrderMapper;
/**
* 获取订单业务列表
*/
@RequestMapping(value = "/list")
@ResponseBody
public Object list(String condition) {
//查询全部
List<MyOrder> myOrders = myOrderMapper.selectList(null);
return myOrders;
}
}
3.7 显示列表订单管理-----搜索功能
package com.stylefeng.guns.modular.order.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.stylefeng.guns.common.persistence.dao.MyOrderMapper;
import com.stylefeng.guns.common.persistence.model.MyOrder;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
* 订单业务控制器
*
* @author fengshuonan
* @Date 2022-02-20 10:39:02
*/
@Controller
@RequestMapping("/order")
public class OrderController extends BaseController {
private String PREFIX = "/order/order/";
@Autowired
private MyOrderMapper myOrderMapper;
/**
* 获取订单业务列表
*/
@RequestMapping(value = "/list")
@ResponseBody
public Object list(String condition) {
if (ToolUtil.isNotEmpty(condition)){
// 搜索
EntityWrapper<MyOrder> objectEntityWrapper = new EntityWrapper<>();
Wrapper<MyOrder> goods = objectEntityWrapper.like("goods", "%" + condition + "%");
List<MyOrder> myOrders = myOrderMapper.selectList(goods);
return myOrders;
}else {
//查询全部
List<MyOrder> myOrders = myOrderMapper.selectList(null);
return myOrders;
}
}
}
3.8 新增订单业务
后端
/**
* 新增订单业务
*/
@RequestMapping(value = "/add")
@ResponseBody
public Object add(MyOrder myOrder) {
if (myOrder != null){
myOrder.setCreatetime(new Date());
}
Integer insert = myOrderMapper.insert(myOrder);
return super.SUCCESS_TIP;
}
前端
修改js
添加菜单
添加角色
测试