SpringMVC同时保存两张表思路
来源:互联网 发布:女朋友突然说分手 知乎 编辑:程序博客网 时间:2024/06/03 17:05
如果需同时保存两张表,一个用户表,一个订单表,当点击保存按钮时,通过ajax发送请求到后台控制器controller,在控制器里面先去判断该用户是否存在,即先调用判断用户是否存在的方法,然后对该方法的返回值进行判断,如果该用户存在,则保存订单表,即调用保存订单表的方法;如果该用户不存在,先要保存用户表,即调用保存用户表的方法,然后对该方法的返回值进行判断,成功的话再去保存订单表。部分代码如下:
在service中的接口:
<span style="font-family:Microsoft YaHei;">public interface AddorderServiceI {public TOrder saveAddorder(TOrder t);//添加订单public TRegisterUser isexit(String telephone);//判断用户是否存在public TRegisterUser saveNewUser(TOrder t);//保存新用户 }</span>在service中接口的实现方法:
<span style="font-family:Microsoft YaHei;">@Servicepublic class AddorderServiceImpl implements AddorderServiceI {@Autowiredprivate BaseDaoI<TOrder> bd;@Autowiredprivate BaseDaoI<TRegisterUser> ru;/** * 添加订单 */@Overridepublic TOrder saveAddorder(TOrder t) {TOrder od=new TOrder();BeanUtils.copyProperties(t, od);od.setOrderno(t.getOrderno());od.setOrderdate(t.getOrderdate());od.setAppointmentdate(t.getAppointmentdate());od.setAreid(t.getAreid());od.setAddress(t.getAddress());od.setRepairid(t.getRepairid());od.setRepaircontent(t.getRepaircontent());od.setOrderstatus("1");od.setUsertelphone(t.getUsertelphone());od.setUsername(t.getUsername());bd.save(od);return od;}/** * 判断用户是否存在 */@Overridepublic TRegisterUser isexit(String telephone) {String sql = "from TRegisterUser as t where t.telphone=:telephone";Map<String, Object> params = new HashMap<String, Object>();params.put("telephone",telephone);TRegisterUser s = ru.get(sql,params); return s;}/** * 保存新用户 */@Overridepublic TRegisterUser saveNewUser(TOrder t) {TRegisterUser tt=new TRegisterUser();BeanUtils.copyProperties(t, tt);tt.setAddress(t.getAddress());tt.setUsername(t.getUsername());tt.setTelphone(t.getUsertelphone());tt.setRegisterdate(t.getOrderdate());tt.setLoginname(t.getUsertelphone());tt.setUserstate("1");tt.setUsertype("1");tt.setAreaid(t.getAreid());ru.save(tt);return tt;}}</span>控制器controller:
<span style="font-family:Microsoft YaHei;">@Controller@RequestMapping("/addorder")public class AddorderController extends BaseController{@Autowiredprivate AddorderServiceI addorderService;/***添加订单控制器* @author:shichenglin * @date:2015-9-15,下午6:33:20 * @Title:save * @return:Json */@RequestMapping("/save")@ResponseBodypublic Json save(TOrder t,HttpServletRequest request){Json j = new Json();try {TRegisterUser s = addorderService.isexit(t.getUsertelphone());if(s==null){TRegisterUser tu= addorderService.saveNewUser(t);if(tu!=null){t.setUserid(tu.getId());TOrder to = addorderService.saveAddorder(t);if(to!=null){j.setMsg("添加订单成功!");}else{j.setMsg("添加失败!");}}}else{TOrder to = addorderService.saveAddorder(t);if(to!=null){j.setMsg("添加订单成功!");}else{j.setMsg("添加失败!");}}} catch (Exception e) {e.printStackTrace();j.setMsg(e.getMessage());}return j;}}</span>
0 0
- SpringMVC同时保存两张表思路
- SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库
- SpringMVC 上传图片保存到服务器 同时更改图片名称保存至数据库
- SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
- SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
- SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
- SpringMVC设计思路
- springmvc+mybatis整合思路
- 保存员工同时保存关联的部门
- SpringMVC 保存400错误
- 一种异步保存的思路
- SpringMVC中文乱码解决思路
- 上传大图的同时保存小图
- cmd 同时保存标准输出和错误
- 保存操作,同时进行自动提交、审核
- 保存数据同时查询保存数据记录的ID
- Web项目同时使用Struts2和SpringMVC
- SpringMvc+Spring同时扫描出现问题。
- 【Android技术整理】HTTP操作
- python序列类型
- Linux下开机自动运行程序设置
- IL指令大全
- 算法系列--Pascal's Triangle(帕斯卡三角)
- SpringMVC同时保存两张表思路
- 二叉树的操作
- 软件开发模型
- Android绘图:自定义View之——矩形进度条、圆环进度条、填充型进度条、时钟
- 欢迎使用CSDN-markdown编辑器
- outlook2007设置自动接收邮件间隔时间
- MySQL 5.1 忘记密码、修改密码 (Window版本)
- 疯狂ios讲义之日期选择器(UIDatePicker)
- 面向对象编程与泛型编程---C++primer读书笔记