springboot项目05

修改呢?
首先是获取一个对象的id,根据这个对象的id,把这个对象的所有信息传递到前端。

button这个按钮用过id查找对象,放在首页,同时为了确保id的准确性。把这个button放在首页列表每一行数据的旁边,新加一个td
<td><a th:href="@{/activity/doFindById(id=${a.id})}">update</a></td>

然后查询数据到一个界面。这个界面可以是修改的界面。
01.dao层,新写一个select by id的方法 返回值是一个pojo对象

@Select("select * from tb_activity where id=#{id}")
	Activity findById(Integer id);

02.在service层中,声明一个findbyid的方法

Activity findById(Integer id);

03.在serviceimpl层中,实现这个方法,用dao接口来实现。返回值是一个pojo对象

	@Override
	public Activity findById(Integer id) {
		// TODO Auto-generated method stub
		Activity act = activitydao.findById(id);
		if(act==null)
			throw new NoSuchElementException("对象可能已经不存在");
		return act;
	}

04.controller中,因为是超链接的方式传递过来的,所以写出对应的处理方法,此处的参数有id和model,id是首页,而model是在controller类中已经使用了serviceimpl,返回了一个pojo对象后,要用model来保存这个对象。
返回值填写insert的html文件名,因为格式是一样的,
这表示还要去修改insert的html文件,需要在标签后面添加th属性来接受后端传递来的对象。

	@RequestMapping("doFindById")
	public String doFindById(Model model,Integer id) {
		Activity activity = ActivityService.findById(id);
		model.addAttribute("act",activity);
		return "activity_edit";
	}

05.修改html文件。
每一li标签都要加上th属性,用el表达式来接受数据。
还要新添一个input 属性是hidden,用于区分update 和insert

06.修改 controller中的 insert方法
判断,如果传过来的pojo对象,getid是null,这表示insert方法,如果不是,就是update方法。

07.在去写update的dao层的sql语句

@Update("update tb_activity set title=#{title},category=#{category},startTime=#{startTime},endTime=#{endTime},remark=#{remark} where id=#{id}")
	void updateActivity(Activity activity);

再在service层和serviceimpl中声明和实现这个update方法。

	void updateActivity(Activity activity);


@Override
	public void updateActivity(Activity activity) {
		log.info("start{}",System.currentTimeMillis());
		activityDao.updateActivity(activity);
		log.info("end{}",System.currentTimeMillis());
	}

08.最后在controller中去在insert方法响应中,用serviceimpl来实现

	@RequestMapping("doSaveActivity")
	public String doSaveActivity(Activity activity) {
		if(activity.getId()==null) {
			ActivityService.saveActivity(activity);
		}else {
			ActivityService.updateActivity(activity);
		}
		return "redirect:doActivityUI";
	}	

最后如何在id=null时候,去新增一个用户,打开insert界面呢?
在首页写一个button,转到这个界面。

<button onclick="javascript:location.href='doActivityEdit'">创建活动</button>

controller中写出回应。

@RequestMapping("doActivityEdit")
	public String doActivityEditUI(Model model) {
		model.addAttribute("act",new Activity());
		return "activity_edit";
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值