Java学习笔记:数据校验
在后台开发过程中,需要对参数进行校验。
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学习笔记:数据校验的更多相关文章
- GO学习笔记 - 数据校验
本文主题:基于asaskevich/govalidator实现Golang数据校验 小慢哥的原创文章,欢迎转载 目录 ▪ 一. asaskevich/govalidator介绍 ▪ 二. 字符串匹配 ...
- Java学习笔记:基本输入、输出数据操作实例分析
Java学习笔记:基本输入.输出数据操作.分享给大家供大家参考,具体如下: 相关内容: 输出数据: print println printf 输入数据: Scanner 输出数据: JAVA中在屏幕中 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330第十周《Java学习笔记》
20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...
- 20145330第九周《Java学习笔记》
20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...
- 20145330第六周《Java学习笔记》
20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...
- 20145330第五周《Java学习笔记》
20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...
随机推荐
- C语言标准io函数总结
转自:http://blog.csdn.net/sun_top/article/details/4235992本来是在vscode上用markdown排好版的,结果复制到这上面就变了形,无奈. 函数列 ...
- linux 查看端口占用
参考 https://www.cnblogs.com/wangtao1993/p/6144183.html lsof -i:8000
- c++面向过程和面向对象-C++编译器是如何管理类和对象的
1,c++编译时如何区分对象调用类的方法? C++中的class从面向对象理论出发,将变量(属性)和函数(方法)集中定义在一起,用于描述现实世界中的类.从计算机的角度,程序依然由数据段(栈区内存)和代 ...
- VM 端口映射问题
环境: 宿主机:WIN 10 --192.168.9.87 虚拟机:CentOS ---192.168.255.129 联通模式:NAT模式 一.VM做端口映射 1.为了方便管理,设置虚拟机为静态IP ...
- CentOS 查找某个软件安装路径
1.通过rpm查看 查看软件是否安装.首先我们需要查看软件是否已经安装,或者说查看安装的软件包名称.如查找是否安装mysql 2.接着根据 rpm -ql 列出软件包安装的文件 3.综合上述以上的问题 ...
- ViewResolver和JSTL
---------------------siwuxie095 ViewResolver 和 JSTL 1.Spring ...
- 【转】python中的字符数字之间的转换函数
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) ...
- stark组件之分页【模仿Django的admin】
我们的stark组件用的我们的分页组件,没有重新写 下面直接看下分页的代码 class page_helper(): def __init__(self, count, current_page, p ...
- linux下查看项目端口号,杀掉对应端口号的方法
查看端口号:netstat -anp 结束端口号:sudo iptables -A INPUT -p tcp --dport 8012 -j DROP"
- 点线特征双目视觉SLAM---暑期笔记
1.由于以后可能研究有关基于特征方面的SLAM研究,所以近期看了一篇文章[基于点线综合特征的双目视觉SLAM方法--谢晓佳],由于之前对SLAM的模块比较模糊,所以认真阅读了此论文,并对主要的3个线程 ...