自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 LocalDateTime/LocalDate 获取指定的时间戳/日期

//获取当天的00:00:00 并转为Date LocalDateTime today_start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN); Date zero = Date.from(today_start.atZone(ZoneId.systemDefault()).toInstant()); //获取前一天的23:59:59 并转为Date LocalDate..

2020-09-28 16:37:55 2896

原创 java实现 生成excel附件表格 群发/单发 附件 到邮箱

使用javax.mail和poi生成excel表格 群发/单发 附件 到邮箱 maven导入依赖:` <!--poi生成excel依赖--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependen

2020-09-28 16:15:45 1363

原创 查询显示所有字段 并同时DISTINCT其中某一字段去重

查询显示所有字段 并按照其中某一字段去重 需要在查询所有字段的同时 按照某一个字段去重 初期预想使用DISCONNECT这样 SELECT DISCONNECT (pe.PID),* FROM PE_PO_ORDER pe LEFT JOIN PE_PO_ORDER_ITEM item ON pe.PID=item.PO_ID WHERE pe.DELETE_FLAG = 0 AND pe.ON_LINE_STATUS = 1 <if test="vendorId != null a

2020-08-10 16:46:58 3885

原创 JavaBean中集合属性/对象属性在MyBatis中ResultMap的映射实现

JavaBean中集合属性/对象属性在MyBatis中ResultMap的映射实现 当我们在mybatis中给javaBean中给每个属性变量映射值(也就是数据库中字段值) 那么对应特殊的list集合属性 该如何映射呢? 先上JavaBean 可以看到我们这个集合中泛型是一个QuestionOption类型 所以我们需要有一个方法来查询QuestionOption类型对象并返回一个集合对象(List) 映射到这个javaBean中这个属性上面 这里我们可以使用mybatis的resultMap映射来完成

2020-06-04 11:45:34 1502

原创 解决java导入excel的数值类型时数值变成有小数点或者大写字母

当我们用excel批量导入数据时候 若有一列值为数字类型 导入后此列值将会由excel中一串长长的数字变成导入后有小数点或者大写英文字母 此时我们需要在读取此列的数据时(操作整列) 所谓做一下判断和转换即可 ...

2020-05-25 18:59:27 4657

animate.js

//获取任意一个元素的任意一个属性的当前的值---当前属性的位置值 function getStyle(element, attr) { return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr] || 0; } //动画函数 obj---要执行动画的对象 json---要执行到的目标的参数对象 fn为执行完成后的回调函数(可以再次调用此方法按照上面格式传参--顺序执行多个动画) //调用例: //zIndex:1000 //透明度opacity: 数字类型----小数---放大100倍 // my$("btn1").onclick = function () { // var json1 = {"width": 400, "height": 500, "left": 500, "top": 80, "opacity": 0.2}; // animate(my$("dv"), json1, function () { //var json2={"width": 40, "height": 50, "left": 0, "top": 0, "opacity": 1, "zIndex": 1000} // animate(my$("dv"),json2,function(){按照此格式多次重复添加动画将会顺序执行} ); // }); // }; function animate(element, json, fn) { clearInterval(element.timeId);//清理定时器 //定时器,返回的是定时器的id element.timeId = setInterval(function () { var flag = true;//默认,假设,全部到达目标 //遍历json对象中的每个属性还有属性对应的目标值 for (var attr in json) { //判断这个属性attr中是不是opacity if (attr == "opacity") { //获取元素的当前的透明度,当前的透明度放大100倍 var current = getStyle(element, attr) * 100; //目标的透明度放大100倍 var target = json[attr] * 100; var step = (target - current) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step); current += step;//移动后的值 element.style[attr] = current / 100; } else if (attr == "zIndex") { //判断这个属性attr中是不是zIndex //层级改变就是直接改变这个属性的值 element.style[attr] = json[attr]; } else { //普通的属性 //获取元素这个属性的当前的值 var current = parseInt(getStyle(element, attr)); //当前的属性对应的目标值 var target = json[attr]; //移动的步数 var step = (target - current) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step); current += step;//移动后的值 element.style[attr] = current + "px"; } //是否到达目标 if (current != target) { flag = false; } } if (flag) { //清理定时器 clearInterval(element.timeId); //所有的属性到达目标才能使用这个函数,前提是用户传入了这个函数 if (fn) { fn(); } } //测试代码 console.log("目标:" + target + ",当前:" + current + ",每次的移动步数:" + step); }, 20); }

2019-10-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除