在后台开发过程中,需要对参数进行校验。

validation bean 是基于JSR-303标准开发出来的,使用注解的方式实现,是一套规范,可以实现参数的校验。

Hibernate Validator 实现了 validation bean,同时进行了扩展,功能强大。

看看官方文档 https://www.oracle.com/technetwork/java/api-141528.html ,在Java Enterprise Edition版中,在 Javax.validation.constraints 包下。

可以看到这个包下,都是注解类型,作用在变量上面,可以对值进行校验。

一般来说,在使用Hibernate框架时,在一些实体类的属性上面加上上面的这些注解就可以对数据的值进行校验。

Hibernate是实现了JPA(Java Persistence API)的框架,JPA 是JDK 5.0注解或者XML描述对象-关系表的映射关系(ORM),并将运行时的实体对象持久化到数据库中。通俗来说就是将Java对象存到数据库中。

ORM 对象关系映射(Object Relational Mapping)是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。

其中 javax.persistence 包中是 用于持久性和对象/关系映射管理的API,这个包中 https://javaee.github.io/javaee-spec/javadocs/ 有 interface class enum exception annotation 等类型,其中常用的注解有@Entity表示此类是一个实体。@Column 用于指定持久属性或字段的映射列,会影响到数据库约束,这个注解中有一些属性(可以通过源码了解到,源码详细说明了每个属性的作用),可以用于设置映射到数据库字段的属性,例如长度、是否为空、精确度等。

总结一下就是:对于数据的校验分为两种,一种是在代码层面的校验,就是指数据在保存在数据库之前这个状态的的校验;另外一种是保存到数据库时,数据库会对数据进行校验,例如直接在数据库修改数据。(这为本人理解,如有错误,感谢指正)。

Java学习笔记:数据校验的更多相关文章

  1. GO学习笔记 - 数据校验

    本文主题:基于asaskevich/govalidator实现Golang数据校验 小慢哥的原创文章,欢迎转载 目录 ▪ 一. asaskevich/govalidator介绍 ▪ 二. 字符串匹配 ...

  2. Java学习笔记:基本输入、输出数据操作实例分析

    Java学习笔记:基本输入.输出数据操作.分享给大家供大家参考,具体如下: 相关内容: 输出数据: print println printf 输入数据: Scanner 输出数据: JAVA中在屏幕中 ...

  3. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  4. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  5. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

  8. 20145330第九周《Java学习笔记》

    20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...

  9. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  10. 20145330第五周《Java学习笔记》

    20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...

随机推荐

  1. GreenDao-自定义SQL查询-AndroidStudio

    /** * 功能:员工查询 * 方法参数: * strEmpIdOrEmpName:员工ID 或者 员工名称 * strQueryType:员工查询类型 "0": "员工 ...

  2. javaService

    JavaService.exe -install TestService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.pat ...

  3. 新版本PHP使用更方便了

    $hostname_conn = "";$database_conn = "";$username_conn = "root";$passw ...

  4. jenkins权限控制

    一.插件安装 插件:Role-based Authorization Strategy版本:2.3.2 二.全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略 ...

  5. Mac mysql sql_model引起的问题

    问题: 我这里时应为timestamp引起的,服务器的数据使用的mysql5.本地使用的是mysql8,sql_model 不同导致数据不能够在数据库中添加. 解决: 在/etc/下查找my.cnf文 ...

  6. oracle数据库新建库

    1.https://jingyan.baidu.com/article/76a7e409f3f37bfc3b6e15de.html 利用工具新建库. 2.创建时报错 out of memory 调节s ...

  7. oracle中job定时任务96

    .INTERVAL参数常用值示例 每天午夜12点            ''TRUNC(SYSDATE + 1)'' 每天早上8点30分         ''TRUNC(SYSDATE + 1) +  ...

  8. 【nginx】大文件下载

    nginx自带文件读取功能,而且实现地很好. 比如直接读取txt文件,png图片等,用chrome可以直接获取到内容. 但是对于很大的文件,比如有2个G的视频,nginx如何吐出2G的内容呢? 实验: ...

  9. java调用微信扫一扫

    步骤: 1,获取Accesstoken(参考我之前的文章) 2,获取jsapiticket(参考我之前的文章) 3,获取签名 4JSSDK使用步骤 步骤一:绑定域名(JS接口安全域名),.否则会报in ...

  10. netty 之 传统的阻塞io 体系回顾

    io 体系回顾: 流的概念: java 程序 通过流来进行完成输入与输出的.流是生产或者消费信息的抽象,流通过java 的 输入/输出系统与物理设备相连,尽管与他们链接的物理设备不尽相同,所有流的行为 ...