OwlFocus

Via


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索
close
OwlFocus

Hibernate验证实体字段信息

发表于 2017-05-06 | 分类于 program

Domain

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class User {
private int id;
private String name;
@Id
@GeneratedValue(generator="mytable",strategy=GenerationType.TABLE)
public int getId() {
return id;
}
@NotNull(message="姓名不能为空!")
public String getName() {
return name;
}

Validation

1
2
3
4
User user = new User();
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Order>> violations = validator.validate(user);

annotation

Bean Validation 中的 constraint

Constraint 详细信息
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式

Hibernate Validator 附加的 constraint

Constraint 详细信息
@Email 被注释的元素必须是电子邮箱地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range 被注释的元素必须在合适的范围内
OwlFocus

beanutils 日期格式化问题

发表于 2017-05-06 | 分类于 program

Error

1
org.apache.commons.beanutils.ConversionException: DateConverter does not support default String to 'Date' conversion.

原因

beanutils工具类不支持将日期转化成java.util.Date,但支持java.sql.Date。

解决

如果要将日期转化成java.util.Date,可实现一个日期转化器(org.apache.commons.beanutils.Converter),然后使用ConvertUtils类注册转化器(org.apache.commons.beanutils.ConvertUtils)。

转化器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.pft.common.beanutils.converters;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.apache.commons.beanutils.Converter;
/**
* ClassName:DateConverter <br/>
* Reason: 日期转换对象,使用该转换器,在ConvertUtils当中做一下注册,系统自动地帮助字符的日期表示转换为java.util.Date对象.
* Date: 2017年5月6日 下午1:03:25 <br/>
* @author lijian@12301.cc
* @version V0.1
* @since JDK 1.8
* @see
*/
public class StringToDateConverter implements Converter {
/**
* 日期格式化对象.
*/
private static SimpleDateFormat df = new SimpleDateFormat();
/**
* 模式集合.
*/
private static Set<String> patterns = new HashSet<String>(4);
// 注册一下日期的转换格式
static {
StringToDateConverter.patterns.add("yyyy-MM-dd");
StringToDateConverter.patterns.add("yyyy-MM-dd HH:mm");
StringToDateConverter.patterns.add("yyyy-MM-dd HH:mm:ss");
StringToDateConverter.patterns.add("yyyy/MM/dd HH:mm:ss");
}
/**
* 日期转换器.
*
* @param type
* Class
* @param value
* Object return Date Object.
*/
@SuppressWarnings("rawtypes")
public Object convert(Class type, Object value) {
if (value == null) {
return null;
}
if (value instanceof String) {
Object dateObj = null;
Iterator it = patterns.iterator();
while (it.hasNext()) {
try {
String pattern = (String) it.next();
df.applyPattern(pattern);
dateObj = df.parse((String) value);
break;
} catch (ParseException ex) {
// do iterator continue
}
}
return dateObj;
}
return null;
}
}

注册使用

1
2
ConvertUtils.register(new StringToDateConverter(), java.util.Date.class);
BeanUtilsBean2.getInstance().copyProperties(dest, orig);
OwlFocus

乌合之众

发表于 2017-05-05 | 分类于 life
  1. 一千个偶然聚集在公共场所的人,没有任何明确的目标,从心理学意义上说,根本不能算作一个群体。

  2. 法国大革命中的群众推翻了路易王朝,要求民主自由。可是没过多久,还是这些群众,又兴高采烈拥护拿破仑当皇帝进行独裁。

  3. 群体因为会夸大自己的感情,因此它只会被极端感情所打动。希望感动群体的演说家,必须信誓旦旦、夸大其词、言之凿凿、不断重复,绝不以说理的方式证明任何事情——这些都是公众集会上,演说家惯用的论说技巧。

  4. 影响民众想象力的,并不是事实本身,而是它们发生和引起注意的方式。

  5. 领袖的影响力,很小程度上是因为他们提出的论据,事实上,很大程度上是来自他们的名望。对于这一点最好的证明是,一旦这些领袖不知因为什么威信扫地时,他们的影响力也会随之消失。

1…111213…55
ljzhuanjiao@gmail.com

ljzhuanjiao@gmail.com

在快节奏时代,我不能在慢中消亡!!!

163 日志
5 分类
53 标签
© 2016 - 2018 ljzhuanjiao@gmail.com
由 Hexo 强力驱动
主题 - NexT.Pisces