Bigdecimal
转载,原文 一、简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。 二、构造器描述BigDecimal(int) 创建一个具有参数所指定整数值的对象。BigDecimal(double) 创建一个具有参数所指定双精度值的对象。BigDecimal(long) 创建一个具有参数所指定长整数值的对象。BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。 三、方法描述add(BigDecimal) BigDec...
mysql一次给数据库所有表加字段
执行脚本 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950DROP PROCEDUREIF EXISTS addColumn;DELIMITER $$CREATE PROCEDURE addColumn () BEGIN-- 定义表名变量 DECLARE s_tablename VARCHAR ( 100 );/*显示表的数据库中的所有表SELECT table_name FROM information_schema.tables WHERE table_schema='databasename' Order by table_name ;*/#显示所有 DECLARE cur_table_structure CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES -- databasename = 数据库名称 WHERE table...
js使用for in取动态key参数
It’s a nice day for coding,isn’t it?Ha ha! 今天遇到一种服务端响应的参数,key是动态的 就像这样 我们一般静态key取值就是直接 1data.data.id.username 但这种id是动态的 我们就只能用for in的方式取值了 12345678var data = { "msg": "查询成功!", "code": 200, "data": { "2f793b1baf4b441c99a12d22af6678aa": { "username": "ruben2", "password": null, "userInfo": null, "genderEnum": null }, "59fa61fe88b64df58568a7046f17ab38": { &qu...
枚举的使用及校验
今天聊聊枚举咋用 先定义一个枚举 12345678910111213141516171819202122232425262728293031323334353637383940414243444546package com.ruben.enumration;import com.alibaba.fastjson.annotation.JSONType;import com.fasterxml.jackson.annotation.JsonFormat;/** * @ClassName: GenderEnum * @Description: * @Date: 2020/8/18 19:03 * * * @author: achao<achao1441470436 @ gmail.com> * @version: 1.0 * @since: JDK 1.8 */@JSONType(serializeEnumAsJavaBean = true)@JsonFormat(shape = JsonFormat.Shape.OBJECT)public enum GenderEnum...
spring实现Validator校验和全局异常处理
开整! 首先引入依赖 12345678910111213<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.1.5.Final</version> </dependency> <!-- FastJson --> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency>...
springboot全局异常处理器
直接贴代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051package com.ruben.resolver;import com.ruben.utils.AjaxJson;import lombok.extern.slf4j.Slf4j;import org.springframework.validation.FieldError;import org.springframework.web.bind.MethodArgumentNotValidException;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.RestControllerAdvice;import java.util.List;import java.util.stream.Collectors;...
springboot实现Validator校验
一个优秀的后端,是不会相信任何传入的参数的 要做到这一点,以前我们是写大量的判断代码来验证数据的格式 在开发中,我们实际不这么干,我们使用Hibernate Validator来进行参数校验 它实现了JSR 303规范,使我们的代码的健壮性大大提高 先列出一些常用注解 约束注解 详细信息 @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true @AssertFalse 被注释的元素必须为 false @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 @Size(max, min) 被注释的元素的大小必须在指定的范围内 @Digits (in...
mysql join
首先先放张图 今天聊聊mysql表join连接,其本质是拿主表每条数据取出来和子表每行数据进行循环比较,如果满足则返回,不满足返回null 首先是内连接 两者之间取交集,两边都满足返回,不满足不返回 语法很简单 1234567SELECT * FROM tb_goods a INNER JOIN tb_goods_desc b WHERE a.id = b.goods_id 其中,INNER可以省略掉只写个JOIN 然后是左外连接 左外连接,此时可以理解为理解 左表为主表,右表为子表。在条件不满足时,左表数据存在,右表数据为null 简单来说就是结果集包含左表所有行,右表不匹配则为null 12345SELECT * FROM sp_user a LEFT OUTER JOIN tb_seller b ON a.seller_id = b.seller_id 其中,OUTER可省略 反向操作一波就是右外连接 1234567SELECT * FROM tb_seller a RIGHT OUTER JOIN sp_user b ON a.seller_id = b.sell...
fastjson基本使用
alibaba的fastjson真香啊 首先是依赖 123456<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.73</version></dependency> 这里列举点简单的应用 首先是对象转JSON 1234567Map<String, Object> map = new HashMap<>(1 << 3);map.put("data", "操作成功!");map.put("code", 200);map.put("success", true);map.put("...
url怎么传数组
前两天遇到一个奇葩问题,url怎么传数组参数到后端,后端怎么接收 先申明,一般项目中绝不会这么传。。。 其实很简单,前端转换成JSON进行一次Base64加密,后端进行一次Base64解密再从json转换成对象就可以 前端base64加密解密方法: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114//1.加密 var str = '内容'; var base = new Base64(); var result = base.encode(str); document.write(resu...
