当前位置: 首页 > news >正文

MyBatis-Plus 实体类里写正则让字段phone限制为手机格式

/*

  • Copyright © 2021
  • User:啾啾修车
  • File:ToupiaoRecord.java
  • Date:2021/01/12 19:29:12
    */

package com.jjsos.repair.toupiao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**

  • @author repair

  • @date 2019-12-17

  • 投票记录
    */
    @Data
    @TableName(“toupiao_record”)
    public class ToupiaoRecord implements Serializable {

    @TableId(value = “id”, type = IdType.AUTO)
    private Long id;

    @TableField(“phone”)
    private String phone;

    @TableField(“toupiao_id”)
    private Long toupiaoId;

    @TableField(“create_time”)
    private Date createTime;

}
引入pom

<dependency>  <groupId>org.hibernate.validator</groupId>  <artifactId>hibernate-validator</artifactId>  <version>6.2.0.Final</version>  
</dependency>  
<dependency>  <groupId>org.hibernate.validator</groupId>  <artifactId>hibernate-validator-cdi</artifactId>  <version>6.2.0.Final</version>  
</dependency>  
<dependency>  <groupId>javax.validation</groupId>  <artifactId>validation-api</artifactId>  <version>2.0.1.Final</version>  
</dependency>

使用:

import javax.validation.constraints.Pattern;  // ... 其他导入 ...  @Data  
@TableName("toupiao_record")  
public class ToupiaoRecord implements Serializable {  // ... 其他字段 ...  @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$", message = "手机号码格式不正确")  @TableField("phone")  private String phone;  // ... 其他字段 ...  
}

调用:
@Pattern注解的正则表达式只是一个简单的示例,可能不完全符合所有手机号码的格式。你可能需要根据你的实际需求来调整正则表达式。

另外,这种验证通常在应用层进行,而不是在数据库层。当你从前端接收到数据时,在应用层进行验证,确保数据的正确性,然后再将其保存到数据库中。当然,你也可以在数据库层设置一些约束,但Java Bean Validation提供了一种更方便、更灵活的方式来验证数据。

最后,请注意,为了使这些验证生效,你需要在你的应用程序中启用Bean Validation。这通常是通过在你的控制器或服务层的方法上添加@Valid注解来实现的。例如:

@PostMapping("/submit-vote")  
public ResponseEntity<?> submitVote(@RequestBody @Valid ToupiaoRecord toupiaoRecord) {  // ... 处理提交的逻辑 ...  
}
http://www.lryc.cn/news/301711.html

相关文章:

  • K8S之运用污点、容忍度设置Pod的调度约束
  • Sora爆火,普通人的10个赚钱机会
  • 【C++】C++入门—初识构造函数 , 析构函数,拷贝构造函数,赋值运算符重载
  • 沁恒CH32V30X学习笔记04--外部中断
  • 基础IO[三]
  • Leetcode 392 判断子序列
  • 基于微信小程序的校园跑腿系统的研究与实现,附源码
  • VTK Python PyQt 监听键盘 控制 Actor 移动 变色
  • 力扣 第 124 场双周赛 解题报告 | 珂学家 | 非常规区间合并
  • 2024年华为OD机试真题-生成哈夫曼树-Java-OD统一考试(C卷)
  • 【实战】二、Jest难点进阶(二) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(六)
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • HAL/LL/STD STM32 U8g2库 +I2C SSD1306/sh1106 WouoUI磁贴案例
  • 手机如何改自己的ip地址
  • ajax函数库axios基本使用
  • 【nginx实践连载-4】彻底卸载Nginx(Ubuntu)
  • 究极小白如何自己搭建一个自动发卡网站-独角数卡
  • Java_方法(重载方法签名等详解)
  • VQ35 评论替换和去除(char_length()和replace函数的使用)
  • 【MySQL】学习多表查询和笛卡尔积
  • RabbitMQ实现延迟消息的方式-死信队列、延迟队列和惰性队列
  • 【运维测试】测试理论+工具总结笔记第1篇:测试理论的主要内容(已分享,附代码)
  • 【C语言】实现队列
  • 【友塔笔试面试复盘】八边形取反问题
  • GB 18585-2023 壁纸中有害物质限量
  • 全面的ASP.NET Core Blazor简介和快速入门
  • HGAME 2024 WEEK2 Crypto WP
  • Postman轻松签名,让SHA256withRSA保驾护航!
  • C#面:简述装箱和拆箱
  • 【Kubernetes in Action笔记】1.快速开始