文档章节

基于RESTful springMVC开发

stars永恒
 stars永恒
发布于 2016/04/20 16:36
字数 373
阅读 12
收藏 0
点赞 1
评论 0

controller代码

package cn.internet.userinfo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import cn.internet.userinfo.pojo.User;
import cn.internet.userinfo.service.UserService;

@RequestMapping("rest/user")
@Controller
public class RestUserController {
    
    @Autowired
    private UserService userService;
    
    /**
     * 新增
     * Title: saveUser
     * @param user
     * @return
     */
    @RequestMapping(method=RequestMethod.POST)
    //@ResponseBody
    public ResponseEntity<Void> saveUser(User user){
        try {
            this.userService.saveUser(user);
            //返回201
            return ResponseEntity.status(HttpStatus.CREATED).build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
    /**
     * 删除
     * Title: deleteUser
     * @param id
     * @return
     */
    @RequestMapping(value="{id}",method=RequestMethod.DELETE)
    public ResponseEntity<Void> deleteUser(@PathVariable("id") Long id){
        try {
            this.userService.deleteUser(id);
            //返回204
            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
    /**
     * 修改
     * Title: updateUser
     * @param user
     * @return
     */
    @RequestMapping(method=RequestMethod.PUT)
    public ResponseEntity<Void> updateUser(User user){
        try {
            this.userService.updateUser(user);
            //返回204
            return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
    /**
     * 根据id查询
     * Title: queryUserById
     * @param id
     * @return
     */
    @RequestMapping(value="{id}",method=RequestMethod.GET)
    public ResponseEntity<User> queryUserById(@PathVariable("id") Long id){
        try {
            User user = this.userService.queryUserById(id);
            //返回200
            //return ResponseEntity.ok(user);
            return ResponseEntity.ok().body(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //500服务器内部错误
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
        
    }
}

service代码

package cn.internet.userinfo.service;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import cn.internet.userinfo.mapper.UserMapper;
import cn.internet.userinfo.pojo.User;

@Service
public class UserService {
	@Autowired
    private UserMapper userMapper;
	/**
     * 根据id查询用户数据
     * 
     * @param id
     * @return
     */
    public User queryUserById(Long id) {
       User user = this.userMapper.selectByPrimaryKey(id);
       return user;
    }
    /**
     * 分页查询用户数据
     * 
     * @param page 页码
     * @param rows 每页显示数据条数
     * @return
     */
	public PageInfo<User> queryListByPage(Integer page, Integer rows) {
		PageHelper.startPage(page, rows);
		List<User> list = this.userMapper.select(null);
		PageInfo<User> pageInfo=new PageInfo<User>(list);
		
		return pageInfo;
	}
	/**
         * 保存
         * Title: saveUser
         */
        public void saveUser(User user) {
            user.setId(null);
        }
        /**
         * 删除
         * Title: deleteUser
         * @param id
         */
        public void deleteUser(Long id) {
            this.userMapper.deleteByPrimaryKey(id);
        }
        /**
         * 修改
         * Title: updateUser
         * @param user
         */
        public void updateUser(User user) {
            user.setUpdated(new Date());
            this.userMapper.updateByPrimaryKeySelective(user);
        }
}


© 著作权归作者所有

共有 人打赏支持
stars永恒
粉丝 7
博文 147
码字总数 156288
作品 0
大兴
后端工程师
AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET平台介绍 AgileEAS.NET应用开发平台,或者说AgileEAS.NET应用中间件,简称EAS.NET,是基于敏捷并行开发思想以及.NET构件技术而开发的一个应用系统快速开发平台,用于帮助中小型软...

agilelab ⋅ 2010/09/15 ⋅ 0

基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度

在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好...

walb呀 ⋅ 2017/12/04 ⋅ 0

基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码

在Web开发的时候,我们很多时候,需要引用很多CSS文件、JS文件,随着使用更多的插件或者独立样式文件,可能我们的Web界面代码会越来越臃肿,看起来也很累赘,在MVC里面提供了一个Bundle的对象...

walb呀 ⋅ 2017/12/04 ⋅ 0

基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔《Web开发中的文件上传组件uploadify的使用》中可以看到,Asp.NET中如何使用这个组件...

walb呀 ⋅ 2017/12/04 ⋅ 0

基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍

最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客里面介绍Web开发框架的文章比较少,其实以前在单位工作,80%的时间是做Web开发的,很早...

walb呀 ⋅ 2017/12/04 ⋅ 0

Dorado7基于视图模版的向导式开发

Dorado7基于视图模版的向导式开发 定位 Dorado7基于视图模版的向导式开发是Dorado7提供一种更为高效的制式开发模式,通过向导(Wizard)一步步设置,快速得到一个页面。向导有IDE支持,基于视...

thinkingdo ⋅ 2012/05/11 ⋅ 0

基于Metronic的Bootstrap开发框架经验总结(15)-- 更新使用Metronic 4.75版本

在基于Metronic的Bootstrap开发框架中,一直都希望整合较新、较好的前端技术,结合MVC的后端技术进行项目的开发,随着时间的推移,目前Metronic也更新到了4.75版本,因此着手对这个版本的内容...

walb呀 ⋅ 2017/12/04 ⋅ 0

基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

Web开发上有很多HTML的编辑控件,如CKEditor、kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用。CKEditor的前身是FCKEditor,随着它的更新,上传图片的功能...

walb呀 ⋅ 2017/12/04 ⋅ 0

WCF开发框架形成之旅---结合代码生成工具实现快速开发

我的WCF开发框架推出很久了,一直有不少的朋友支持及提供良好的完善意见,随着利用这种基于Winform界面的WCF开发框架开发了不同类型的项目,各种WCF对象的调用及处理逐渐稳定及统一化,因此是...

长平狐 ⋅ 2012/08/22 ⋅ 0

WCF开发框架形成之旅---结合代码生成工具实现快速开发

我的WCF开发框架推出很久了,一直有不少的朋友支持及提供良好的完善意见,随着利用这种基于Winform界面的WCF开发框架开发了不同类型的项目,各种WCF对象的调用及处理逐渐稳定及统一化,因此是...

长平狐 ⋅ 2012/06/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【elasticsearch】 随笔 Date datatype

一。时间类型的本质 首先json是没有时间类型的,对于es来说,时间类型的标示可以是下面三种情况 1.一个时间格式的字符串,如:"2014-11-27T08:05:32Z","2015-01-01" or "2015/01/01 12:10:3...

xiaomin0322 ⋅ 13分钟前 ⋅ 0

阿里云资源编排ROS使用教程

阿里云资源编排ROS详细内容: 阿里云资源编排ROS使用教程 资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、...

mcy0425 ⋅ 15分钟前 ⋅ 0

适配器设计模式

1、适配器模式 把一个类的接口变换成客户端所期待的另一种接口 使原本因接口不匹配而无法在一起工作的两个类能够在一起工作 分为类的适配器模式和对象的适配器模式 2、类适配器模式 类的适配...

职业搬砖20年 ⋅ 19分钟前 ⋅ 0

npm操作报错 _stream_writable.js:61

有一天 不知道什么原因(估计和node的版本有关),无论你做什么npm的操作 都会报错/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:61 这时候只要执...

lilugirl ⋅ 23分钟前 ⋅ 0

Eclipse安装插件的几种方式

Eclipse魅力之一就是支持可扩展的插件,来丰富自身的功能,这种方式也是建立在开源思想之上的。具体使用什么方式去安装插件,要看我们拿到的是什么。 1. 拿到的是一串URL,如http://subclips...

GordonNemo ⋅ 25分钟前 ⋅ 0

div图片叠加

css实现代码如下: <div style="position: relative;"><!--这个层为外面的父层,需设置相对位置样式--> <div style="position: absolute;"><!--子层,需设置绝对位置样式--> <i......

niithub ⋅ 27分钟前 ⋅ 0

作用域slot

如果父组件需要使用子组件中的内容怎么办,比如父组件需要控制子组件的显示 <div id="root"><child><template slot-scope="props"><h1>{{props.item}} <div>编辑</div></h1><......

金于虎 ⋅ 29分钟前 ⋅ 1

HongHu commonservice-eureka 项目构建过程

上一篇我们回顾了关于 spring cloud eureka的相关基础知识,现在我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家...

明理萝 ⋅ 32分钟前 ⋅ 1

xml和对象的相互转化

@Data//setter和getter方法,toString和equals,hashcode方法@EqualsAndHashCode//代表重写equals和hashcode方法@XmlAccessorType(XmlAccessType.FIELD)public class Classroom {@X......

拐美人 ⋅ 32分钟前 ⋅ 0

tableView cell的高度 分组头部尾部的高度 自适应

@property (nonatomic) CGFloat rowHeight; // default is UITableViewAutomaticDimension@property (nonatomic) CGFloat sectionHeaderHeight; // default is UITableViewA......

娜一片蓝色星海 ⋅ 34分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部