根据给定的信息,我们可以整理出以下与Java开发相关的知识点: ### 1. 日期与时间处理 #### 1.1 转换字符串为日期 ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse("2018-05-10 00:00:00"); ``` 这里使用了`SimpleDateFormat`类来定义日期格式,并通过`parse`方法将字符串转换为日期对象。 #### 1.2 日期转字符串 ```java String dateString = DateFormatUtils.format(new Date(), "yyyyMMdd"); ``` `DateFormatUtils`是Apache Commons Lang库中的一个工具类,用于格式化日期。 #### 1.3 日期操作 ```java DateUtils.ceiling(date, Calendar.DAY_OF_MONTH); DateUtils.truncate(date, Calendar.DAY_OF_MONTH); ``` `DateUtils`也是Apache Commons Lang中的工具类,提供了对日期进行上取整、下取整等操作的方法。 ### 2. 数据库操作 #### 2.1 SQL字符串转换 ```sql mysql STR_TO_DATE('2018-5-10 00:00:00', '%Y-%m-%d %H:%i:%s') ``` 在MySQL中,可以使用`STR_TO_DATE`函数将字符串转换为日期时间类型。 #### 2.2 ORM框架注解 ```java @Transactional(rollbackFor = Exception.class) @TableField(exist = false) ``` `@Transactional`是Spring框架中的注解,用于开启事务管理;`@TableField`是MyBatis Plus框架中的注解,用于映射表字段。 ### 3. 集合操作 #### 3.1 集合运算 ```java CollectionUtils.subtract(a, b); ``` `CollectionUtils`是Apache Commons Collections库中的工具类,提供了集合之间的运算方法。 #### 3.2 流式编程 ```java list.forEach(a -> a.setEstimateContent(content)); list.stream().filter(a -> a.getServiceType() != null).collect(Collectors.toSet()); list.stream().map(a -> a.getServiceType()).collect(Collectors.toList()); ``` Java 8引入了流式编程,使得集合操作更加简洁高效。`forEach`用于遍历集合;`stream`方法结合`filter`、`map`等操作符实现对集合的过滤、映射等功能。 ### 4. 工具类使用 #### 4.1 属性复制 ```java PropertyUtils.copyProperties(dest, orig); ``` `PropertyUtils`是Apache Commons BeanUtils中的工具类,用于复制对象属性。 #### 4.2 字段比较 ```java EqualsBuilder.reflectionEquals(lhs, rhs, excludeFields); ``` `EqualsBuilder`是Apache Commons Lang中的工具类,用于构建两个对象是否相等的逻辑。 ### 5. 数据校验 ```java Validate.notNull(object, message); Validate.isTrue(expression, message); ``` `Validate`是Apache Commons Validator中的工具类,提供了一些数据验证方法,如检查对象是否为null或条件是否为真。 ### 6. 注解使用 ```java @Table(uniqueConstraints = @UniqueConstraint(columnNames = {"idNumber", "mobilePhone"})) ``` `@Table`是MyBatis Plus框架中的注解,用于定义表结构,其中`@UniqueConstraint`用于指定唯一约束。 ### 7. 集合排序 ```java Collections.sort(list, (a, b) -> new CompareToBuilder().append(a.getAppointTime(), b.getAppointTime()).toComparison()); ``` 这里使用了`Collections.sort`方法,传入自定义的比较器实现对集合的排序。 ### 8. 枚举与常量 ```java var Enums = require("enums"); items: Enums["com.eling.elcms.charge.model.Deposit.ChargeStatus"]; ``` 枚举是一种特殊的类,用来表示一组固定的常量值。 ### 9. 设计模式与架构 ```java Table per class: 每个子类都对应数据库中的一张表。 Joined table: 子类共用一张表,通过一个额外的列区分不同子类。 ``` 这两种方式都是实体继承策略的一部分,用于解决对象关系映射中的继承问题。 以上就是从给定的标题、描述、标签以及部分内容中整理出来的Java开发相关知识点。这些知识点涵盖了日期处理、数据库操作、集合处理、工具类使用、数据校验、注解使用、集合排序、枚举与常量以及设计模式等方面,对于Java开发者来说具有一定的参考价值。
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";【string转date】
SimpleDateFormat sdf=new SimpleDateFormat(DATE_TIME_PATTERN);
Date date=sdf.parse(str);
DateFormatUtils.format(new Date(), "yyyyMMdd") 【date转string】
@Transactional(rollbackFor = Exception.class)【事务回滚】
@TableField(exist = false) 表示该属性为【非数据库表字段】
根据按钮获取grid行数据getData(index)
StringUtils.join(pks, ","); 数组根据符号分割
PropertyUtils.copyProperties(dest, orig);两个类复制相同属性的值 git@117.121.26.96:e-ling.git
CollectionUtils.subtract(a, b)删除两个集合中相同的(a-b) git@117.121.26.96:com.eling.elcms.system-web.git
DateUtils.ceiling(date, field) 在日期的某个位置上叠加 git@117.121.26.96:com.eling.elcms.core.git
DateUtils.truncate(date, field)在日期的某个位置上清零
EqualsBuilder.reflectionEquals(final Object lhs, final Object rhs, final String... excludeFields) 比较两个数组是否相同 第三个参数为忽略哪个字段
orphanRemoval=true 无关联时删除(孤立时)
集合.forEach(a->a.setEstimateContent(content));//集合里面所有的属性都进行->后的操作
集合.stream().filter(a->条件).collect(Collectors.toSet())//根据条件筛选集合
集合.stream().map(a->a.getServiceType()).collect(Collectors.toList());//根据map()里面的数据得到数组
if (null != estimateContent&&!estimateContent.contains(null)) {//量表model的内容集合set方法里
estimateContent.forEach(a->a.setEstimateSurvey(this));
}
Validate.notNull(判空的值,"提示信息")包不带3
Validate.isTrue(判断条件,"提示信息")
@Table(name = "bd_personalinfo",uniqueConstraints = @UniqueConstraint(columnNames = {"idNumber", "mobilePhone"})) //联合唯一约束 两个其中一个不同 就ok
Collections.sort(listorder, (b,a)->new CompareToBuilder().append(a.getAppointTime(),b.getAppointTime()).toComparison());//数组倒排序 正(a,b)
Model @Fields({@Field, @Field(name = "updateTime_forsort", analyze = Analyze.NO)})时间排序
//闭包
//定义a
function a(a1,b1){
a1 = a;
b1 = b;
}
//执行a
a(a,b);
//匿名函数
(function(){})
//匿名函数执行
(function(a1,b1){
a1 = a;
b1 = b;
})(a,b);
for(var i=0;i<10;i++){
//闭包
(function(index){
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助