二、Mysql数据库使用

mysql基本使用:https://blog.csdn.net/qq_35508033/article/details/71908310
http://www.ityouknow.com/springboot/2016/02/03/spring-boot-web.html


添加依赖、添加Mysql配置见上面网页

1、创建DAO(即直接与Mysql通信)

public interface UserRepository extends JpaRepository<User, Long> {
    User findByUserName(String userName);
    User findByUserNameOrEmail(String username, String email);

可以根据方法名来自动的生产SQL,比如findByUserName 会自动生产一个以 userName 为参数的查询方法,比如 findAlll自动会查询表里面的所有数据,比如自动分页等等。(findAll可以直接调用)

2、添加记录

Controller中添加新方法实现往数据库中添加数据

/** 
 * 添加一个student,使用postMapping接收post请求 
 * @return 
 */  
@PostMapping("/addStudent")  
public Student addStudent(@RequestParam("name") String name, @RequestParam("age") Integer age){  
    Student student=new Student();  
    student.setName(name);  
    student.setAge(age);  
    return studentRepository.save(student);  
}  

3、查询所有记录

使用Controller来查询

创建StudentController,只需使用findAll()方法即可获取一个表的所有内容

@RestController  
public class StudentController {   
    @Autowired  
    private StudentRepository studentRepository;   
    @RequestMapping("/getAllStudent")  
    public List<Student> getAllStudent(){  
        return studentRepository.findAll();  
    }  
}  
  • 这里的@Autowired作用是自动装配,我们这里可以发现StudentRepository并没有新建一个对象,这里可以直接使用@Autowired

4、查询某条记录

/** 
 * 根据ID获取student,接收ID参数 
 * @param id 
 * @return 
 */  
@GetMapping("/getStudent/{id}")  
public Student getStudentById(@PathVariable("id") Integer id){  
    return studentRepository.findOne(id);    
}  
  • 上面三个方法中使用的提交方式是不一样的,分别是@PostMapping("/addStudent")@RequestMapping("/getAllStudent")@GetMapping("/getStudent/{id}")三者区别是:
    @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
    @PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
  • 注意这里传入的参数中有一个@PathVariable("id")的注解,这个注解表示

5、更新某条记录

/** 
 * 根据id更新student 
 * @param id 
 * @param name 
 * @param age 
 * @return 
 */  
@PutMapping("/updateStudent/{id}")  
public Student updateStudent(@PathVariable("id") Integer id,@RequestParam("name") String name,@RequestParam("age") Integer age){  
    Student student=new Student();  
    student.setId(id);  
    student.setName(name);  
    student.setAge(age);  
    return studentRepository.save(student);  
}  
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,522评论 1 92
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • spring boot 配置文件: 格式一: application.properties 例如:添加全局访问路径...
    inke阅读 523评论 0 1
  • 作者简介陈喆,现就职于中科院某研究所担任副研究员,专注于工业云平台、MES系统的设计与研发。 spring-mus...
    Gavin陈阅读 870评论 0 1
  • 2017年10月19日 周四 亲爱的L: 昨天下午,我的科里一位前辈接到了下月退休的通知。这一次人力资源部作了改革...
    璐晓源阅读 148评论 0 2