这篇个人常用Java函数,不是技术类文章
一、sql
1.1、数据库常用sql
DECLARE startDate date DEFAULT DATE_FORMAT(now_day,'%Y-%m-%d'); -- 更新数据的时间
DECLARE startStamp int(11) DEFAULT UNIX_TIMESTAMP(startDate); -- 当天0点时间戳
DECLARE endStamp int(11) DEFAULT UNIX_TIMESTAMP(startDate)+86400-1; -- 当天23点59分59秒
DECLARE theHour int(11) DEFAULT DATE_FORMAT(SYSDATE(),'%H'); -- 当前小时
1.2、数据库查询格式问题
- 错误写法
'%Y-%m-%d %H:%m:%s'
- 正确写法
%Y-%m-%d %H:%i:%s
二、JAVA基础
2.1、字符串截取与替换
-
字符串切割成数组
-
数组转字符串
三、获取系统当前操作人
前提前台传了cookie
public final static String getCurrentUser() {
String userName = null;
try {
SecurityContext sc = SecurityContextHolder.getContext();
Object principal = sc.getAuthentication().getPrincipal();
if (principal instanceof UserDetails) {
UserDetails userDetails = (UserDetails) principal;
userName = userDetails.getUsername();
}
} catch (Exception e) {
return null;
}
return userName;
}
四、map转bean
private static <T> T toBean(JSONObject jsonObject, T t, boolean isClearNullField) {
JsonConfig config = new JsonConfig();
config.setPropertySetStrategy(new PropertySetStrategy() {
@Override
public void setProperty(Object o, String s, Object o1) throws JSONException {
try {
PropertySetStrategy.DEFAULT.setProperty(o, s, o1);
} catch (Exception e) {
}
}
});
JSONObject.toBean(jsonObject, t, config);
if (isClearNullField) {
clearNullField(t);
}
return t;
}
五、mybatis
5.1、分页
<choose>
<when test="orderSort != null and orderSort != '' and order != null and order != ''">
ORDER BY
${orderSort}
${order}
</when>
<otherwise>
ORDER BY CONVERT(project USING GBK) ASC, `gmt_create` DESC
</otherwise>
</choose>
时间转换
projectBoard.setStartDate(new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse("2022-07-01"))
其他
获取日期函数
更多函数可以使用hootool依赖
/**
* 获取今天
* @return String
* */
public static String getToday(){
return new SimpleDateFormat("yyyy-MM-dd").format(new Date());
}
/**
* 获取昨天
* @return String
* */
public static String getYestoday(){
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE,-1);
Date time=cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time);
}
/**
* 获取本周的第一天
* @return String
* **/
public static String getWeekStart(){
Calendar cal=Calendar.getInstance();
cal.add(Calendar.WEEK_OF_MONTH, 0);
cal.set(Calendar.DAY_OF_WEEK, 2);
Date time=cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 00:00:00";
}
/**
* 获取本周的最后一天
* @return String
* **/
public static String getWeekEnd(){
Calendar cal=Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, cal.getActualMaximum(Calendar.DAY_OF_WEEK));
cal.add(Calendar.DAY_OF_WEEK, 1);
Date time=cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 23:59:59";
}
/**
* 获取本月开始日期
* @return String
* **/
public static String getMonthStart(){
Calendar cal=Calendar.getInstance();
cal.add(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
Date time=cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 00:00:00";
}
/**
* 获取本月最后一天
* @return String
* **/
public static String getMonthEnd(){
Calendar cal=Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Date time=cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time)+" 23:59:59";
}
/**
* 获取本年的第一天
* @return String
* **/
public static String getYearStart(){
return new SimpleDateFormat("yyyy").format(new Date())+"-01-01";
}
/**
* 获取本年的最后一天
* @return String
* **/
public static String getYearEnd(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH,calendar.getActualMaximum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date currYearLast = calendar.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast)+" 23:59:59";
}