zoukankan      html  css  js  c++  java
  • Spring boot4之数据校验

    Spring boot 数据校验

    • entity

        1 package com.wiggin.entity;

        2 

        3 import lombok.Data;

        4 import org.hibernate.validator.constraints.Length;

        5 

        6 import javax.validation.constraints.Min;

        7 import javax.validation.constraints.NotEmpty;

        8 import javax.validation.constraints.NotNull;

        9 

       10 

       11 @Data

       12 public class User {

       13         @NotNull(message = "id不能为空")

       14         private Long id;

       15         @NotEmpty(message = "姓名不能为空")

       16         @Length(min = 2,message = "姓名长度不能小于两位")

       17         private String name;

       18         @Min(value = 16,message = "年龄必须大于16")

       19         private int age;

       20 }

    • Handler

        1       @GetMapping("/validatorUser")

        2         public void validatorUser(@Valid User user, BindingResult bindingResult){

        3                 // 打印user对象

        4                 System.out.println(user);

        5                 if (bindingResult.hasErrors()){

        6                         // 获取所有error

        7                         List<ObjectError> list = bindingResult.getAllErrors();

        8                         for (ObjectError objectError:list){

        9                                 // objectError.getCode() 为错误类型,objectError.getDefaultMessage()为错误信息

       10                                 System.out.println(objectError.getCode() + "-" + objectError.getDefaultMessage());

       11                         }

       12                 }

       13         }

    Spring boot 整合JDBC

    • pom.xml

        1                 <!-- 引入JDBC-->

        2                 <dependency>

        3                         <groupId>org.springframework.boot</groupId>

        4                         <artifactId>spring-boot-starter-jdbc</artifactId>

        5                 </dependency>

        6                 <dependency>

        7                         <groupId>mysql</groupId>

        8                         <artifactId>mysql-connector-java</artifactId>

        9                         <version>8.0.21</version>

       10                 </dependency>

    • application.yml

        1 server:

        2     port: 8080

        3 spring:

        4     thymeleaf:

        5         prefix: classpath:/templates/

        6         suffix: .html

        7         encoding: UTF-8

        8         mode: HTML5

        9     datasource:

       10         url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

       11         username: root

       12         password: 123456

       13         driver-class-name: com.mysql.cj.jdbc.Driver

    • User

        1 package com.wiggin.entity;

        2 

        3 import lombok.AllArgsConstructor;

        4 import lombok.Data;

        5 import lombok.NoArgsConstructor;

        6 import org.hibernate.validator.constraints.Length;

        7 

        8 import javax.validation.constraints.Min;

        9 import javax.validation.constraints.NotEmpty;

       10 import javax.validation.constraints.NotNull;

       11 

       12 

       13 @Data

       14 @AllArgsConstructor

       15 @NoArgsConstructor

       16 public class User {

       17         @NotNull(message = "id不能为空")

       18         private Long id;

       19         @NotEmpty(message = "姓名不能为空")

       20         @Length(min = 2,message = "姓名长度不能小于两位")

       21         private String name;

       22         @Min(value = 60,message = "成绩必须大于60")

       23         private double score;

       24 }

    • UserRepository

        1 package com.wiggin.repository;

        2 

        3 import com.wiggin.entity.User;

        4 

        5 import java.util.Collection;

        6 import java.util.List;

        7 

        8 public interface UserRepository {

        9         public List<User> findAll();

       10         public User findById(long id);

       11         public void save(User user);

       12         public void update(User user);

       13         public void deleteById(long id);

       14 }

    • UserRepositoryImpl

        1 package com.wiggin.repository.impl;

        2 

        3 import com.wiggin.entity.User;

        4 import com.wiggin.repository.UserRepository;

        5 import org.springframework.beans.factory.annotation.Autowired;

        6 import org.springframework.jdbc.core.BeanPropertyRowMapper;

        7 import org.springframework.jdbc.core.JdbcTemplate;

        8 import org.springframework.stereotype.Repository;

        9 

       10 import java.util.Collection;

       11 import java.util.List;

       12 

       13 @Repository

       14 public class UserRepositoryImpl implements UserRepository {

       15         @Autowired

       16         private JdbcTemplate jdbcTemplate;

       17         @Override

       18         public List<User> findAll() {

       19                 // new BeanPropertyRowMapper<>(User.class)映射实体类

       20                 return jdbcTemplate.query("select * from users ",new BeanPropertyRowMapper<>(User.class));

       21         }

       22 

       23         @Override

       24         public User findById(long id) {

       25 

       26                 return jdbcTemplate.queryForObject("select * from users where id = ?",new Object[]{id},new BeanPropertyRowMapper<>(User.class));

       27         }

       28 

       29         @Override

       30         public void save(User user) {

       31                 jdbcTemplate.update("insert into users(name,score) value (?,?)",user.getName(),user.getScore());

       32         }

       33 

       34         @Override

       35         public void update(User user) {

       36                 jdbcTemplate.update("update users set name = ?,score = ? where id = ?", user.getName(),user.getScore(),user.getId());

       37         }

       38 

       39 

       40         @Override

       41         public void deleteById(long id) {

       42                 jdbcTemplate.update("delete from users where id = ?",id);

       43         }

       44 }

    • UserHandler

        1 package com.wiggin.controller;

        2 

        3 import com.wiggin.entity.Student;

        4 import com.wiggin.entity.User;

        5 import com.wiggin.repository.UserRepository;

        6 import org.springframework.beans.factory.annotation.Autowired;

        7 import org.springframework.stereotype.Controller;

        8 import org.springframework.web.bind.annotation.*;

        9 

       10 import java.util.List;

       11 

       12 @RestController

       13 @RequestMapping("/user")

       14 public class UserHandler {

       15 

       16         @Autowired

       17         private UserRepository userRepository;

       18 

       19         @GetMapping("/findAll")

       20         public List<User> findAll(){

       21                 return userRepository.findAll();

       22         }

       23 

       24         @GetMapping("/findById/{id}")

       25         public User findById(@PathVariable("id") long id){

       26                 return userRepository.findById(id);

       27         }

       28 

       29         @PostMapping("/save")

       30         // @RequestBody User user把请求的body转为java对象,@ResponseBodyjava对象转为body内容

       31         public void save(@RequestBody User user){

       32                 userRepository.save(user);

       33         }

       34 

       35         @PutMapping("/update")

       36         // @RequestBody User user把请求的body转为java对象,@ResponseBodyjava对象转为body内容

       37         public void update(@RequestBody User user){

       38                 userRepository.update(user);

       39         }

       40 

       41         @DeleteMapping("/deleteById/{id}")

       42         public void deleteById(@PathVariable("id") long id){

       43                 userRepository.deleteById(id);

       44         }

       45 

     

  • 相关阅读:
    SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
    麦咖啡导致电脑不能上网
    SharePoint 2013 Central Admin 不能打开
    SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API)
    SharePoint 2013 APP 开发示例 系列
    synthesize(合成) keyword in IOS
    Git Cmd
    简单的正则匹配
    Dropbox
    SQL Server Replication
  • 原文地址:https://www.cnblogs.com/wigginess/p/13499411.html
Copyright © 2011-2022 走看看