以下是需要知道的Spring boot的注解:
@RestController
用@RestController标记的类表示这是一个RESTful风格的控制器,它可以处理HTTP请求并返回JSON格式的响应。 @RestController注解在处理请求时,会自动将方法的返回值转换为JSON格式的响应体,并返回给客户端。
如,可以在@RestController中定义一个处理GET请求的方法,并使用@RequestMapping注解指定请求的URL和请求方法,如下图代码所示:
@RequestMapping
在类的级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上,翻译一下就是访问接口都是从这个url进入。
@Resource
用来实现依赖注入的,用于引入接口。
@GetMapping
添加到控制器方法上,并指定所需的URL路径。
@PostMapping
声明方法为 POST 请求处理方法:@PostMapping 注解告诉 Spring Boot,这个方法是用来处理客户端发送的 POST 请求的。
@PutMapping
@PutMapping 是一种注解,它可以将 HTTP PUT 请求映射到指定的处理方法上。
@DeleteMapping
@DeleteMapping 注解就能够非常便捷的声明能够处理DELETE请求的方法
@PathVariable
@PathVariable 映射 URL 绑定的占位符,就是当作url地址上面的占位符号
@RequestBody
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交
@RequestParam
post请求时
@RequestBody --> JSON字符串部分
@RequestParam --> 请求参数部分
@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加。
@Select
@Select注解的值是字符数组,但是真正生效的应该是最后那条SQL语句
@Select("SELECT * FROM `user`")
@Delete
用于执行mysql删除语句
@Delete("delete from user where id= #{id}")
@Transactional
在方法上使用@Transactional 注解,事务正常起作用。无异常时正常提交,有异常时数据回滚
,用于传递数据,当数据出现异常没完全传递过去时会全部撤回
@Update
用于更改数据
@Update("update user set id =#{id}, name=#{name}, address=#{address}, age=#{age}, sex=#{sex}, phone=#{phone} where id = #{id}")
Spring boot实现基础增删改查
这里配置环境就不说了,我在上一篇文章有详细配置
我们首先需要一个javabeen,这里使用了lombok插件,上篇文章也有说
import lombok.Data;
@Data
public class User {
//Data自动生成javabean不需要再写无参构造和有参构造set和get
private Integer id;
private String name;
private String address;
private Integer age;
private String sex;
private String phone;
}
方法
@RestController
//@RestController用于渲染列表使用
@RequestMapping("/user")
//@RequestMapping("/user")用于http访问接口路径
public class UserController {
//@Resource用于引入接口
@Resource
//初始化usrMapper
UserMapper userMapper;
@GetMapping
//@GetMapping("all")用于访问url地址自定义子目录
//查找user全部数据
public List<User> getUser(){
return userMapper.findAll();
}
@PostMapping
//插入数据
public String addUser(@RequestBody User user){
userMapper.save(user);
return "post";
}
@PutMapping
//通过id查找替换数据
public String putMapping(@RequestBody User user){
userMapper.updateById(user);
return "putMapping";
}
@DeleteMapping("/{id}")
//通过id查找删除数据
public String DeleteMapping(@PathVariable("id") Long id){
userMapper.deleteById(id);
return "DeleteMapping";
}
@GetMapping("/{id}")
//根据id查询数据
public User findById(@PathVariable("id") Long id){
return userMapper.getById(id);
}
}
接口
ps:#{id}只有在id数据为自增的情况下才可以不用写id
public interface UserMapper {
//@select里面写的的mysql查询语句
@Select("SELECT * FROM `user`")
//查询user表数据
List<User> findAll();
@Update("INSERT INTO `user` (id, name, address, age, sex, phone) VALUES (#{id}, #{name}, #{address}, #{age}, #{sex}, #{phone});")
//插入数据
@Transactional
void save(User user);
@Update("update user set id =#{id}, name=#{name}, address=#{address}, age=#{age}, sex=#{sex}, phone=#{phone} where id = #{id}")
//查询id更改id数据
@Transactional
void updateById(User user);
@Delete("delete from user where id= #{id}")
//查询id删除指定数据
void deleteById(Long id);
@Select("SELECT * FROM `user` where id= #{id}")
//查询id指定数据
User getById(Long id);
}