java
Marttin2
Be-Happy!
Be-Healthy!
Be-Strong!
展开
-
@JsonSerialize注解使用方法
import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;//JsonSerializer<Integer>:Integer为要转换的类型public class Seria.原创 2021-12-22 10:00:54 · 1494 阅读 · 0 评论 -
Java 校验字符串中是否含有非法字符
// 校验字符串中是否含有非法字符public static String legalStringCheck(String content) { String illegal = "`-~_!#%^&*=+\\|{};:'\",<>/?○"; char isLegalChar = 't'; StringBuilder stringBuilder = new StringBuilder(""); //L1: ...原创 2021-11-30 08:48:07 · 2847 阅读 · 0 评论 -
带有转义字符的json字符串转成JavaBean
String jsonStr = JSON.toJSONString(paramMap); JSONObject jsonObject = JSON.parseObject(jsonStr); String detailList = jsonObject.getString("detailList"); List<YourBean> beanList = JSONObject.parseArray(detailLi...原创 2021-11-09 09:23:36 · 545 阅读 · 0 评论 -
java stream() 字符串拼接
result = String.join(",",settledList);result = settledList.stream().collect(Collectors.joining(","));原创 2021-07-23 14:29:28 · 3361 阅读 · 0 评论 -
AtomicReference 使用
//全局数据 private static List<Base> baseList; //AtomicReference是作用是对”对象”进行原子操作。 提供了一种读和写都是原子性的对象引用变量。 //原子意味着多个线程试图改变同一个AtomicReference(例如比较和交换操作)将不会使得AtomicReference处于不一致的状态。 private Result setResultList(Param param){ Result result =..原创 2021-07-05 12:34:09 · 606 阅读 · 0 评论 -
AtomicBoolean 使用
outList.forEach(out -> { AtomicBoolean flag = new AtomicBoolean(true); //外部结果集 outList 包含内部参数结果集 paramList 的所有,即满足要求 paramList().stream().forEach(in -> { if (!out.getValueStr().contains(in)) { flag.set(false); } }); if ...原创 2021-07-05 12:32:37 · 322 阅读 · 0 评论 -
lambda sorted 排序,null数据排在后
//lambda sorted 排序,null数据排在后 resultList = resultList.stream() .sorted(Comparator.comparing(i -> i.getSort(), Comparator.nullsLast(Integer::compareTo))) .collect(Collectors.toList());原创 2021-07-05 12:31:52 · 2042 阅读 · 0 评论 -
lambda filter()结合map(),对数据处理,返回指定结果集
//初始数据 ResultForm targetList = new ArrayList<>(); //从初始数据中,获取糖超标的食品 resultVoList List<ResultVo> resultVoList = targetList.stream().filter(i -> { //1、先过滤目标信息 NowEntity now = xxxService.selectById(i.getId...原创 2021-07-05 11:05:55 · 1088 阅读 · 0 评论 -
mybatis update语句成功后,返回指定的字段
mybatis update语句成功后,返回指定的字段 mapper---------------------------------------将 keyColumn 属性的 num 映射到 YourBean 中的num属性 <update id="upt"> <selectKey resultType="java.lang.Integer" keyColumn="num" keyProperty="num" order="AFTER"> ...原创 2021-07-02 10:49:11 · 4541 阅读 · 0 评论 -
lambda count()方法,过滤满足条件的数据
//外部结果集(out)同时包含内部结果集(in)的所有内容,即满足要求 inList:{ "华帝", "美域" } outList:{ "麒麟,醉湖,华帝,光宇,美域", "琪琪,凯特,华帝", "会凌云,美域,清幽" } outList.forEach(out -> { int target = inList.size(); //2 ...原创 2021-06-26 10:00:55 · 2518 阅读 · 0 评论 -
map复制
public static void mapCopy(Map paramsMap, Map resultMap) { if (resultMap == null){ resultMap = new HashMap(); } if (paramsMap == null){ return; } Iterator it = paramsMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry =..原创 2021-04-17 20:32:29 · 150 阅读 · 0 评论 -
SerializationUtils.clone()
//克隆后结果集 List<YourBean> listClone = new ArrayList<>(); //克隆过程 for (list) { YourBean copyItem = (YourBean) SerializationUtils.clone(item); listClone.add(copyItem); } //克隆后结果 多字段去重处理 List<YourBean> distinct = listClo...原创 2021-04-17 20:19:43 · 2333 阅读 · 0 评论 -
mybatis 嵌套查询list写法
public class BeanName implements Serializable{ private String id; private String propertyName1; private String propertyName2; private String propertyName3; private String propertyName4; private List<PriceInfoDto> priceInfo; //子集1 .原创 2021-02-20 08:45:03 · 1265 阅读 · 1 评论 -
Java 数组等距离拆分
/** * 数组等距拆分,26/4=7个数组 6个整的,最后2个为独立1个 * @param targ * @return */ public static List<List<String>> getList(List<String> tList, int targ) { List<List<String>>tEndList=new ArrayList<>(); ...原创 2021-02-04 11:26:59 · 306 阅读 · 1 评论 -
mybatis 递归查询所有子分类写法
Bean:public class Category { private Integer categoryid; //分类id private String name2; private String remarks; private List<Category> categoryList; //其下子集} Dao:List<Category> getAllCategory(Integer pid);mapping: <.原创 2021-02-04 11:02:28 · 475 阅读 · 0 评论 -
Java 数组求和
private static Double sumArr(String arr[], int arrSize) { if(arrSize == 1) { return Double.parseDouble(arr[0]); }else { return Double.parseDouble(arr[arrSize-1]) + sumArr(arr, --arrSize); } }原创 2021-01-31 09:41:21 · 2478 阅读 · 0 评论 -
Java 递归数组求和
private static Double sumArr(String arr[], int arrSize) { if(arrSize == 1) { return Double.parseDouble(arr[0]); }else { return Double.parseDouble(arr[arrSize-1]) + sumArr(arr, --arrSize); } }原创 2021-06-26 10:22:44 · 411 阅读 · 0 评论 -
Java 秒数转成时分秒“03:25:58“格式
/** * 将数字转成"03:40:55"格式 * @param seconds * @return */ public static String secondsToTime(int seconds) { String timeStr = null; int hour = 0; int minute = 0; int second = 0; if (seconds <= 0) return "00:00:00"; else { minute ..原创 2021-01-23 08:56:31 · 215 阅读 · 0 评论 -
Java 递归list获取目标bean的最上级,最上级的 parentid = 1
//待过滤的结果集 List<YourBean> resultList = new ArrayList<>(); YourBean 中属性: id, parentid, name, //递归获取其最上级 public YourBean getTheTop(YourBean target) { if (target.getParentid() == 1) { return target; } //拿目标bean的 parentid 到结果集中..原创 2021-01-08 16:33:00 · 1364 阅读 · 0 评论 -
lambda 对List<Bean>结果集进行多字段去重
List<YourBean> distinct = listClone.stream().collect( Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing( o -> o.getName1() + ";" + o.getName2()+ ...原创 2020-11-27 16:16:18 · 816 阅读 · 0 评论 -
java 手机号的正则校验
/** * 手机号 */ public static final String PHONE_REG = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$"; String phoneNumber = "13322245678"; if (StringUtils.isNotBlank(phoneNumber)) { bool..原创 2020-11-10 09:09:59 · 322 阅读 · 0 评论 -
myBatis 批量更新的方法
//MySQL 批量更新的方法 public void uptBatch(List<YourBean> beanList) { //批量更新的操作 if (null != beanList && beanList.size() > 0) { // 每个批次条数 100 ,分批条数不能太大,防止sql过长导致更新失败的异常 Integer partSize = Integer.parseInt(pSize)..原创 2020-09-02 15:45:43 · 203 阅读 · 0 评论 -
Java遍历List不断remove其中元素,正确的几种方式
@Test public void removeData() { List<String> list = new ArrayList<>(); list.add("f"); list.add("u"); list.add("u"); list.add("u"); list.add("u"); list.add("c"); list.add("k"); for (int i = 0; i <...原创 2020-07-28 13:50:05 · 226 阅读 · 0 评论 -
jeesite中如何写分页查询方法
Page<YourBean> page = new Page<>(); long count = service.getCount(entity); List<YourBean> list = service.listData( entity, (entity.getPage().getPageNo() - 1) * entity.getPage().getPageSize(), ...原创 2020-07-22 14:41:39 · 777 阅读 · 0 评论 -
SpringUtils.getBean()获取bean
private final static BeanService service = SpringUtils.getBean(BeanService.class);原创 2020-07-22 13:24:27 · 13742 阅读 · 6 评论 -
Java端 a标签的拼接
String code = "<a href=\"/baseUrl/x/app/application/getYourId/detail?id=" + i.getId() + "\" target=\"_blank\">" + i.getName() + "</a>";原创 2020-07-22 13:21:55 · 1292 阅读 · 0 评论 -
java,数字左补0的方法,
String right = String.format("%06d", Integer.valueOf(next));6:代表全部位数原创 2020-07-04 19:50:00 · 1418 阅读 · 0 评论 -
json字符串,转换JSONObject
//json字符串,转换JSONObject JSONObject jsonobject = JSONObject.fromObject(jsonStr); //json对象转成javaBean YourBean entity = (YourBean) JSONObject.toBean(jsonobject, YourBean.class); //json字符串,转换JSONArray JSONArray i...原创 2020-06-05 20:06:39 · 360 阅读 · 0 评论 -
Mybatis 同时查询结果及总数量
1、数据库链接:加设置,&allowMultiQueries=true2、mapper<!--查询结果及总数量 mapper--> <resultMap id="data" type="java.util.LinkedHashMap"/> <resultMap id="data" type="SalesMessagePrice"/> <resultMap type="Long" id="nums" autoMapping="true"/&原创 2020-06-02 09:24:59 · 3200 阅读 · 3 评论 -
Java中mybatis分页查询的两个查询参数如何写?
Map<String, Object> map = new HashedMap();map.put("pageStart", (当前页-1) * pageSize);map.put("pageEnd", pageSize);limit #{pageStart},#{pageEnd}原创 2020-05-03 21:27:34 · 878 阅读 · 0 评论 -
java Date类型 增加x天与当前时间进行比较
//java date类型 增加x天与当前时间进行比较 Date createDate = xxx; Calendar cal = Calendar.getInstance(); cal.setTime(createDate); //增加x天 cal.add(Calend...原创 2020-04-27 08:39:45 · 446 阅读 · 0 评论 -
java 对象深拷贝
//对象深拷贝public static void main(String[] args) { SalesArea sa = new SalesArea(); sa.setAreaCode("123"); SalesArea copyUser = (SalesArea) SerializationUtils.clone(sa); sa.setAreaCode("...原创 2020-04-25 16:09:53 · 104 阅读 · 0 评论 -
lambda对List (Map String, String) 数据,按照属性排序
//lambda对数据按照属性排序 Map<String, List<Map<String, String>>> mapByName = resultList.stream() .collect(Collectors.groupingBy(i -> String.valueOf(i.get("ke...原创 2020-04-09 19:04:51 · 1188 阅读 · 0 评论 -
Ajax 提交form表单,返回结果后,打开新的url
$("#save").click(function () { js.loading("正在加载,请稍候..."); var id = $("#id").val(); var code = ""; $.ajax({ type: "POST", dataType: "json", ...原创 2020-03-28 09:32:14 · 427 阅读 · 0 评论 -
String.format() 保留三位小数,格式化时间
System.out.println(String.format("%.3f", 3.1415926)); //3.142 System.out.println(String.format("%tF", new Date())); System.out.println(String.format("%tY", new Date())); //2020 ...原创 2020-03-28 09:26:44 · 3956 阅读 · 0 评论 -
lambda 表达式,对数据的分组
//单条件分组, Map<String, List<YourBean>> mapByOne = yourBeanList.stream().collect(Collectors.groupingBy(YourBean::getBillDateStr)); //分组后,统计每组中数据量 Map<String, Long...原创 2020-03-28 09:21:23 · 10852 阅读 · 1 评论 -
lambda 表达式,数据集按照字段去重
List<YourBean> distinctList = list.stream().collect( Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o...原创 2020-03-28 09:00:40 · 1670 阅读 · 0 评论 -
BigDecimal 的加减乘除
//加法 BigDecimal jia = a.add(b); //减法 BigDecimal jian = a.subtract(b); //乘法 BigDecimal cheng = a.multiply(b); //除法 BigDeci...原创 2020-03-14 12:16:48 · 438 阅读 · 0 评论 -
通过stream(),对结果集数据进行分组处理
//最初结果集 List<YourBean> list = new ArrayList<>(); //处理后的结果集 List<YourBean> resultList = new ArrayList<>(); //stream,将集合按指定字段分组 ...原创 2020-03-14 11:47:43 · 2820 阅读 · 0 评论 -
更新操作时候,防止同一条数据,同时被多人修改,为每条数据添加一个version字段
//防止同一条数据,同时被多人修改,为每条数据添加一个version字段 1、更新数据之前现获取该条数据的版本号 version字段,version字段设置成默认值0 类型long select version from your_table where id = #{id}; 2、更新的时候,要将之前查询出来的version具体值作为条件,同时更新version字段+1 update...原创 2020-01-04 16:05:38 · 2783 阅读 · 0 评论