package com.qcby.pojo;
/** 用于封装菜名种类信息 */
public class Category {
private Integer id; //类别编号
private String category; //类别名称
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
@Override
public String toString() {
return "Category{" +
"id=" + id +
", category='" + category + '\'' +
'}';
}
}
四、编写持久层
1、DoorMapper
package com.qcby.dao;
import com.qcby.pojo.Door;
import java.util.List;
/* 接口由我们开发人员负责提供,但接口的实现类(子类)由框架负责提供
* 如果不整合mybatis和spring框架,接口的子类实例也是由mybatis负责创建
* 如果整合了mybatis和spring框架,接口的子类实例将会由spring容器负责创建 */
public interface DoorMapper {
/** 1.查询所有门店信息 */
public List findAll();
/** 2.根据id删除门店信息 */
public void deleteById( Integer id );
/** 3.新增门店信息 */
public void add( Door door );
/** 4.根据id查询门店信息 */
public Door findById( Integer id );
/** 5.根据id修改门店信息 */
public void updateById( Door door );
}
DoorMapper.xml
delete from tb_door where id=#{id}
insert into tb_door value
(null,#{name},#{tel},#{addr})
update tb_door set name=#{name},
tel=#{tel},addr=#{addr}
where id=#{id}
2、OrderMapper
package com.qcby.dao;
import com.qcby.pojo.Order;
import java.util.List;
/** 订单模块的mapper接口 */
public interface OrderMapper {
/** 1.查询所有订单信息 */
public List findAll();
/** 2.根据id删除订单信息 */
public void deleteById(Integer id);
/** 3.新增订单信息 */
public void add( Order order );
/** 4.根据id查询订单信息 */
public Order findById( Integer id );
/** 5.根据id修改订单信息 */
public void updateById( Order order );
}
OrderMapper.xml
delete from tb_order where id=#{id}
insert into tb_order value
(null,#{doorId},#{orderNo},#{orderType},
#{pnum},#{cashierId},#{orderTime},#{payTime},
#{payType},#{price})
update tb_order set door_id=#{doorId},order_no=#{orderNo},
order_type=#{orderType},pnum=#{pnum},cashier_id=#{cashierId},
order_time=#{orderTime},pay_time=#{payTime},
pay_type=#{payType},price=#{price}
where id=#{id}
3、CashierMapper
package com.qcby.dao;
import com.qcby.pojo.Cashier;
import java.util.List;
public interface CashierMapper {
/** 1.查询所有收银员信息 */
public List findAll();
/** 2.根据id删除收银员信息 */
public void deleteById( Integer id );
/** 3.新增收银员信息 */
public void add( Cashier cashier );
/** 4.根据id查询收银员信息 */
public Cashier findById( Integer id );
/** 5.根据id修改收银员信息 */
public void updateById( Cashier cashier );
}
CashierMapper.xml
delete from tb_cashier where id=#{id}
insert into tb_cashier value
(null,#{cname},#{gender},#{age},
#{telephone},#{work_time},#{door_id})
update tb_cashier set cname=#{cname},gender=#{gender},
age=#{age},telephone=#{telephone},
work_time=#{work_time},door_id=#{door_id}
where id=#{id}
4、MenuMapper
package com.qcby.dao;
import com.qcby.pojo.Menu;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface MenuMapper {
/** 1.查询所有菜单信息 */
public List
MenuMapper.xml
delete from tb_menu where id=#{id}
insert into tb_menu value
(null,#{dish_name},#{dish_price},#{discription},
#{img},#{category_id})
update tb_menu set dish_name=#{dish_name},dish_price=#{dish_price},
discription=#{discription},img=#{img},category_id=#{category_id}
where id=#{id}
5、CategoryMapper
package com.qcby.dao;
import com.qcby.pojo.Category;
import java.util.List;
public interface CategoryMapper {
/** 1.查询所有菜单名信息 */
public List findAll();
}
CategoryMapper.xml
五、编写表现层
1、DoorController 门店管理
package com.qcby.controller;
import com.qcby.dao.DoorMapper;
import com.qcby.pojo.Door;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* 门店模块的controller
*/
@Controller
public class DoorController {
//获取DoorMapper接口的子类实例
@Autowired //自动装配
DoorMapper doorMapper;
/** 1.查询所有门店信息
* 点击 "门店管理" 后,访问/doorList,执行当前方法,查询所有门店信息 */
@RequestMapping("/doorList")
public String doorList( Model model ) {
List list = doorMapper.findAll();
//将门店信息集合存入Model中,转发带到门店列表页面显示
model.addAttribute("doorList", list);
//转发到 door_list.jsp, 显示所有门店信息
return "door_list";
}
/**
* 2.根据id删除门店信息
* @param id 所要删除门店的id值
* @return */
@RequestMapping("/doorDelete")
public String doorDelete(Integer id) {
doorMapper.deleteById( id );
//更新成功后,转发到查询所有门店信息的方法,显示最新门店信息
return "forward:/doorList";
}
/**
* 3.新增门店信息
* @param door 接收浏览器提交过来的门店信息(name、tel、addr)
* @return */
@RequestMapping("/doorAdd")
public String doorAdd( Door door ) {
doorMapper.add( door );
//更新成功后,转发到查询所有门店信息的方法,显示最新门店信息
return "forward:/doorList";
}
/**
* 4.根据id查询门店信息,将查询到的门店信息转发带到门店修改页面,进行数据的回显
* @param id 门店的id值
* @return 门店修改页面的jsp的名字
*/
@RequestMapping("/doorInfo")
public String doorInfo( Integer id, Model model ) {
//根据id查询门店信息,将门店对象存入Model中,转发带到门店修改页面
Door door = doorMapper.findById( id );
model.addAttribute( "door", door );
//转发到门店修改页面
return "door_update";
}
/**
* 5.根据id修改门店信息
* @param door 其中封装了门店的id以及修改后的门店信息
* @return "forward:/doorList" 转发到查询所有门店信息的方法
*/
@RequestMapping("/doorUpdate")
public String doorUpdate( Door door ) {
doorMapper.updateById( door );
//更新成功后,转发到查询所有门店信息的方法,显示最新门店信息
return "forward:/doorList";
}
}
2、OrderController 订单管理
package com.qcby.controller;
import com.qcby.dao.CashierMapper;
import com.qcby.dao.DoorMapper;
import com.qcby.dao.OrderMapper;
import com.qcby.pojo.Cashier;
import com.qcby.pojo.Door;
import com.qcby.pojo.Order;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/** 订单模块的controller */
@Controller
public class OrderController {
//获取OrderMapper接口的子类实例
@Autowired
OrderMapper orderMapper;
//获取DoorMapper接口的子类实例
@Autowired
DoorMapper doorMapper;
@Autowired
CashierMapper cashierMapper;
/** 1.查询所有订单信息 */
@RequestMapping("/orderList")
public String orderList( Model model ) {
//查询所有的订单信息,并将订单信息存入model中
List orderList = orderMapper.findAll();
model.addAttribute( "oList", orderList );
//同时查询所有的门店信息,并将门店信息存入model中
List doorList = doorMapper.findAll();
model.addAttribute( "dList", doorList );
List cashierList = cashierMapper.findAll();
model.addAttribute("cList", cashierList);
//跳转到订单列表页面,显示所有订单信息
return "order_list";
}
/** 2.根据id删除订单信息 */
@RequestMapping("/orderDelete")
public String orderDelete(Integer id) {
orderMapper.deleteById( id );
//转发到查询所有订单的方法,查询最新的订单信息并显示
return "forward:/orderList";
}
/** 3.查询所有门店信息,将门店信息存入到Model中
* 最终跳转到订单新增页面(order_add.jsp) */
@RequestMapping("/toOrderAdd")
public String toOrderAdd( Model model ) {
//查询所有门店信息,将所有门店存入到Model中
List doorList = doorMapper.findAll();
model.addAttribute( "dList", doorList );
List cashierList = cashierMapper.findAll();
model.addAttribute("cList", cashierList);
//转发到 订单新增页面, 在下拉选框中显示所有的门店列表
return "order_add";
}
/** 4.点击新增订单页面中的"提交"后,访问当前这个方法,完成新增订单功能 */
@RequestMapping("/orderAdd")
public String orderAdd(Order order ) {
orderMapper.add( order ); //新增订单信息
//转发到查询所有订单的方法,查询最新的订单信息并显示
return "forward:/orderList";
}
/** 5.根据id查询订单信息,将订单信息存入Model中,
* 带到订单修改页面(order_update.jsp)进行回显 */
@RequestMapping("/orderInfo")
public String orderInfo( Integer id, Model model ) {
//根据id查询订单信息,将订单信息存入Model中
Order order = orderMapper.findById( id );
model.addAttribute("order", order);
//查询所有门店信息,将所有门店存入到Model中
List doorList = doorMapper.findAll();
model.addAttribute( "dList", doorList );
List cashierList = cashierMapper.findAll();
model.addAttribute("cList", cashierList);
//转发带到订单修改页面进行回显
return "order_update";
}
/** 6.根据id修改订单信息 */
@RequestMapping("/orderUpdate")
public String orderUpdate( Order order ) {
System.out.println(order);
orderMapper.updateById( order );
//转发到查询所有订单信息的方法,查询最新的订单信息并显示
return "forward:/orderList";
}
}
3、CashierCntroller 收银员管理
package com.qcby.controller;
import com.qcby.dao.CashierMapper;
import com.qcby.dao.DoorMapper;
import com.qcby.pojo.Cashier;
import com.qcby.pojo.Door;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/** 收银员模块的controller */
@Controller
public class CashierController {
@Autowired
CashierMapper cashierMapper;
@Autowired
DoorMapper doorMapper;
/** 1.查询所有订单信息 */
@RequestMapping("/cashierList")
public String orderList( Model model ) {
//查询所有的订单信息,并将订单信息存入model中
List cashierList = cashierMapper.findAll();
model.addAttribute( "cList", cashierList );
//同时查询所有的门店信息,并将门店信息存入model中
List doorList = doorMapper.findAll();
model.addAttribute( "dList", doorList );
//跳转到订单列表页面,显示所有订单信息
return "cashier_list";
}
/** 2.根据id删除订单信息 */
@RequestMapping("/cashierDelete")
public String orderDelete(Integer id) {
cashierMapper.deleteById( id );
//转发到查询所有订单的方法,查询最新的订单信息并显示
return "forward:/cashierList";
}
/** 3.查询所有门店信息,将门店信息存入到Model中
* 最终跳转到订单新增页面(order_add.jsp) */
@RequestMapping("/toCashierAdd")
public String toCashierAdd( Model model ) {
//查询所有门店信息,将所有门店存入到Model中
List doorList = doorMapper.findAll();
model.addAttribute( "dList", doorList );
//转发到 订单新增页面, 在下拉选框中显示所有的门店列表
return "cashier_add";
}
/** 4.点击新增订单页面中的"提交"后,访问当前这个方法,完成新增订单功能 */
@RequestMapping("/cashierAdd")
public String orderAdd(Cashier cashier ) {
cashierMapper.add( cashier ); //新增订单信息
//转发到查询所有订单的方法,查询最新的订单信息并显示
return "forward:/cashierList";
}
/** 5.根据id查询订单信息,将订单信息存入Model中,
* 带到订单修改页面(order_update.jsp)进行回显 */
@RequestMapping("/cashierInfo")
public String cashierInfo( Integer id, Model model ) {
//根据id查询订单信息,将订单信息存入Model中
Cashier cashier = cashierMapper.findById( id );
model.addAttribute("cashier", cashier);
//查询所有门店信息,将所有门店存入到Model中
List doorList = doorMapper.findAll();
model.addAttribute( "dList", doorList );
//转发带到订单修改页面进行回显
return "cashier_update";
}
/** 6.根据id修改订单信息 */
@RequestMapping("/cashierUpdate")
public String orderUpdate( Cashier cashier ) {
cashierMapper.updateById( cashier );
//转发到查询所有订单信息的方法,查询最新的订单信息并显示
return "forward:/cashierList";
}
}
4、MenuController 菜单管理
package com.qcby.controller;
import com.qcby.dao.CategoryMapper;
import com.qcby.dao.MenuMapper;
import com.qcby.pojo.Category;
import com.qcby.pojo.Menu;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/** 菜单模块的controller */
@Controller
public class MenuController {
//获取OrderMapper接口的子类实例
@Autowired
MenuMapper menuMapper;
//获取DoorMapper接口的子类实例
@Autowired
CategoryMapper categoryMapper;
/** 1.查询所有订单信息 */
@RequestMapping("/menuList")
public String orderList( Model model ) {
//查询所有的订单信息,并将订单信息存入model中
List menuList = menuMapper.findAll();
model.addAttribute( "mList", menuList );
//同时查询所有的门店信息,并将门店信息存入model中
List categoryList = categoryMapper.findAll();
model.addAttribute( "cList", categoryList );
//跳转到订单列表页面,显示所有订单信息
return "menu_list";
}
/** 2.根据id删除订单信息 */
@RequestMapping("/menuDelete")
public String menuDelete(Integer id) {
menuMapper.deleteById( id );
//转发到查询所有订单的方法,查询最新的订单信息并显示
return "forward:/menuList";
}
/** 3.查询所有菜单种类信息,将菜单信息存入到Model中
* 最终跳转到订单新增页面(menu_add.jsp) */
@RequestMapping("/toMenuAdd")
public String toMenuAdd( Model model ) {
//查询所有门店信息,将所有门店存入到Model中
List categoryList = categoryMapper.findAll();
model.addAttribute( "cList", categoryList );
//转发到 订单新增页面, 在下拉选框中显示所有的门店列表
return "menu_add";
}
/** 4.点击新增菜单页面中的"提交"后,访问当前这个方法,完成新增订单功能 */
@RequestMapping("/menuAdd")
public String menuAdd(Menu menu ) {
System.out.println(menu.getImg());
menuMapper.add( menu ); //新增订单信息
//转发到查询所有订单的方法,查询最新的订单信息并显示
return "forward:/menuList";
}
/** 5.根据id查询订单信息,将订单信息存入Model中,
* 带到订单修改页面(order_update.jsp)进行回显 */
@RequestMapping("/menuInfo")
public String menuInfo( Integer id, Model model ) {
//根据id查询订单信息,将订单信息存入Model中
Menu menu = menuMapper.findById( id );
model.addAttribute("menu", menu);
//查询所有菜单种类信息,将所有门店存入到Model中
List categoryList = categoryMapper.findAll();
model.addAttribute( "cList", categoryList );
//转发带到订单修改页面进行回显
return "menu_update";
}
/** 6.根据id修改订单信息 */
@RequestMapping("/menuUpdate")
public String orderUpdate( Menu menu ) {
System.out.println("imgurl:"+menu.getImg());
menuMapper.updateById( menu );
//转发到查询所有订单信息的方法,查询最新的订单信息并显示
return "forward:/menuList";
}
/** 7.根据条件查询菜单信息 */
@RequestMapping(value = "/menuSearch", method = RequestMethod.GET)
public String menuSearch(Model model, @RequestParam("dish_name") String dish_name, @RequestParam("discription") String discription ) {
List menuList = menuMapper.findByName(dish_name,discription);
System.out.println(menuList);
model.addAttribute( "mList", menuList );
List categoryList = categoryMapper.findAll();
model.addAttribute( "cList", categoryList );
return "menu_list";
}
}
Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c
版本:WebLogic Server 10.3
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:
方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';
方法二:SELECT column_name from information_schema.colum