![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
爱飞的光
这个作者很懒,什么都没留下…
展开
-
mybatis传入多个参数以及list集合参数
mybatis进行传参的时候,可能传入单个参数,也可能传入对象参数,也可能传入list集合参数;在接口传参数的时候不免会用到一个注解,@Param注解。1.使用@Param注解当以下面的方式进行写SQL语句时: @Select("select column from table where userid = #{userid} ") public int select...原创 2020-03-29 14:43:19 · 15494 阅读 · 1 评论 -
如何多List中的元素进行遍历与删除
当我们遍历list集合的时候会直接用for循环进行遍历,通常情况下是没有问题的,然而如果当我们遍历的时候执行删除操作的话就会出现问题了。 例子如下:当我们删除的时候,第一次循环是没有问题的,但是当第二次循环的时候,i的值这时候为1,也就是list的第二个元素,继续往下肯定也是错的。解决方案:之所以会产生这样的原因是因为i的值每循环一次都在递增,...原创 2020-03-29 13:27:35 · 193 阅读 · 0 评论 -
Java中String.Format的使用
刚学java的时候拼接字符串一直都是使用“+”进行拼接,感觉用起来简单又方便,后来又了解到拼接字符串的另一个方法,String.format()。特此记录下来学习一下; 在拼接字符串时我们通常会有两种方法,一种是用String类重载‘+’运算符进行拼接,其实是用StringBuilder.append。还有一种类似C的printf风格,调用String.format...原创 2020-03-29 12:47:33 · 413 阅读 · 0 评论 -
关于BeanUtils.copyProperties进行对象之间的属性赋值
1.使用org.springframework.beans.BeanUtils.copyProperties方法进行对象间的属性赋值,避免通过get、set方法一个一个的赋值/** * 对象属性拷贝 <br> * 将源对象的属性拷贝到目标对象 * * @param source 源对象 * @param target 目标对象 ...原创 2020-03-22 21:12:57 · 1372 阅读 · 0 评论 -
webapp与WEB—INF的区别
通常情况下我们的项目结构是将css/js/html放在WEB—INF下面,因为WEB—INF是webapp的安全目录。所谓安全目录就是客户端无法访问的目录,只有服务端可以访问,当静态资源放在WEB—INF下面的时候,外部是不能访问的,我们一般通过springmvc配置文件配置资源映射,如下所示: <!-- 资源映射 --> <mvc:resource...原创 2020-03-16 00:20:46 · 2024 阅读 · 0 评论 -
两个对象集合如何取出不同的对象
获取两个List中的不同元素,四种方法,逐步优化测试结果;方法如下:package com.syl.test;import java.util.*;/** * 获取两个List的不同元素(假设List自身不存在重复元素) * Created by syl on 2017/12/26 0026. */public class TestCompareList { ...原创 2020-03-12 00:59:31 · 1151 阅读 · 0 评论 -
map之put重复的key
map中key是不能重复的,当我们对相同的key进行put操作时,最后一个key对应的value会把前一个相同的value覆盖掉。另外Map中的key和value均可以为null,附一张图:...原创 2020-03-12 00:57:05 · 8139 阅读 · 0 评论 -
如何判断集合中是否存在某个元素
在java中我们可以通过contains方法判断集合中是否已经有某个值;1.List的contains(obj)方法 实际上,List调用contains(Object obj)方法时,会遍历List中的每一个元素,然后再调用每个元素的equals()方法去跟contains()方法中的参数进行比较,如果有一个元素的equals()方法返回true则contains()方法返回true,...原创 2020-03-12 00:51:09 · 13447 阅读 · 0 评论 -
Map.Entry介绍
Map是java的一个接口,而Map.Entry是Map的一个内部接口。 Map提供一些常用方法,如Keyset(),entrySet()等方法返回值是Map中的key值的集合;entrySet()的返回值也是返回一个set集合,此集合的类型为Map.Entry。 Map.Entry是map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>,他表示...原创 2020-03-12 00:06:21 · 241 阅读 · 0 评论 -
java异常之自定义异常
什么是异常? 异常,顾名思义就是不正常,在java中异常分为一般异常(检查异常)与运行时异常(RunTimeException); 一般异常:在编译期就显式的通知程序员必须处理; java.lang.ClassNotFoundException<类未找到异常> java.io.IOExceptio...原创 2020-03-09 22:18:56 · 138 阅读 · 0 评论 -
java日期类:Date和Calendar
Date类 Date表示特定的瞬间,精确到毫秒。 在jdk1.1之前, calendar类原创 2020-03-09 17:18:42 · 253 阅读 · 0 评论 -
java中如何获取系统时间的当前年份以及年份的第一天和最后一天
java获取当前系统的年份方法1:public static String getSysYear() { Calendar date = Calendar.getInstance(); String year = String.valueOf(date.get(Calendar.YEAR)); return year;}方法2:...原创 2020-02-29 14:19:32 · 1426 阅读 · 0 评论 -
java集合超详解
一、数组和集合的区别 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点。比数组更灵活,更实用,而且不同的集合框架类可适用不同场合。如下:数组能存放基本数据类型和对象,而集合类存放的都是对象,集合类不能存放基本数据类型,数组和集合存放的对象皆为对象的引用地址。 数组容易固定无法动态改变,集合类容量动态改变; 数组无法判断其中实际存有多少元素,length只告诉了数组...原创 2020-02-28 23:15:56 · 191 阅读 · 0 评论 -
java与Mysql的数据类型对应
java mysql 数据类型对照类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N ...原创 2020-02-20 11:00:40 · 216 阅读 · 0 评论 -
java后台参数字段的验证
前言 参数验证是一个常见的问题,无论是前端还是后台,都需要对用户输入进行验证,以此来保证系统数据的正确性。对于web来说,有些人可能理所当然的想在前端验证就行了,但是这样是非常错误的想法,前端代码对于用户来说是透明的,稍微有点技术的人就可以绕过这个验证,直接提交数据到后台。无论是前端网页接口的提交还是提供给外部的接口,参数验证随处可见,也是必不可少的。前端做验证只是为了用户体验,比...原创 2020-02-20 00:26:36 · 2216 阅读 · 0 评论 -
Lambda表达式
lambda表达式是java8新增的主要特性之一,lambda表达式又称闭包或者匿名函数,主要优点在于简化代码、增强大码的可读性、并行操作集合等。 lambda语法lambda的基本语法: (parameters) -> expression or (parameters) ->{ statements; }直接由参数到函数体,看起来简单明了...原创 2020-02-19 23:10:46 · 105 阅读 · 0 评论 -
java之Optional详解
Optional类是java8引入的很有趣的一个类。Optional类主要解决的问题是臭名昭著的空指针异常问题(NullPointerException)。 所谓空指针异常,就是指针指向一个空对象,既然是一个空对象那你就不能操作他,不能使用这个对象的方法,如果你非要使用,那么就会产生空指针异常; 除此之外,以下几种情况也会导致空指针异常...原创 2020-02-19 13:54:36 · 1454 阅读 · 0 评论 -
private static final long serialVersionUID = 1L;是用来做什么的
private static final long serialVersionUID = 1L;是定义以一个序列号。java源码里有大量的类都有这么一个序列号。目的就是把java对象序列化而后进行保存。 java的序列化机制式通过判断类的serialVersionUID来验证版本的一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类...原创 2020-02-17 19:56:18 · 5632 阅读 · 0 评论 -
@Controller、@Service、@Repository的作用
Spring的注解形式:@Controller、@Service、@Repository它们分别对应展示层Bean、业务层Bean、存储层Bean。Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即...原创 2020-02-16 23:26:23 · 502 阅读 · 0 评论 -
java多线程详解
判断是否为多线程?public class Sample{ public void method1(String str){ System.out.println(str); } public void method2(String str){ method1(str); } public static void main(String[] args){ ...原创 2020-02-16 23:13:11 · 165 阅读 · 0 评论 -
java中的包装类(Wrapper Class in java)
包装类型的继承结构图 在java设计之初,java就提供了8种基础的数据类型以及对应的8种包装数据类型。 我们知道java是一种面向对象编程的高级语言,所以包装类型正是为了解决基本数据类型无法面向对象编程所提供的。包装类的应用场景 1.集合泛型只能是包装类// 编译报错List<int> list1 = new ArrayList&...原创 2020-02-04 18:50:53 · 504 阅读 · 1 评论 -
java中String类的常用方法总结
String类:String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。String类对象创建后不能修改,StringBuffer & StringBuilder 类。这时我们会问,为什么我们String变量赋值不就是改变了吗?其实不是的,赋值后将会生成新的对像来存放新的内容,原先的对象依旧在内存中,但是s不在指向它,那么这个对象就会成...原创 2020-02-03 09:55:29 · 110 阅读 · 0 评论 -
java的IO流详解
1.基本概念IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。2.IO流的分类图示:(主要IO流)3.字节流(1).字节流基类1).InputStreamInputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。 常用方法: // 从输入流...原创 2020-02-03 09:55:44 · 116 阅读 · 0 评论 -
四种实体类类型:VO、DTO、DO、PO
在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于数据库中存储的数据(数据表),DTO对应于除二者之外需要进行传递的数据。一、实体类百度百科中对于实体类的定义如下:实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。根据以上定义,我们可以了解到,实体类有两方面内容,存储数据和执行数据本身相关的操作。这两方面...原创 2020-02-03 09:56:36 · 7636 阅读 · 0 评论 -
Java之List常用方法汇总
package ListTest;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * @author user:11963 * @version date:2017年12月19日 下午12:17:56 * */public class ListDemo { ...原创 2020-02-02 19:49:59 · 362 阅读 · 0 评论 -
在mysql的表中增加UUID
我们要向mysql的表中增加UUID的话分两种情况:一、建表初期 在建表初期的话我们如果想要增加UUID的话其实很简单,直接增加相应的字段然后在后台生成uuid,并且把uuid的值插入到表中,mysql的默认值不支持函数,所以我们不可以在默认值中设置UUID,只能在后台生成然后插入到表中。例子如下:<insert id="add" parameterType=...原创 2019-12-16 15:42:51 · 5497 阅读 · 0 评论 -
HttpServletResquest与HttpServletResponse
在前面总结过,每当客户端给Web服务器发送一个http请求,web服务器就会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象就代表请求和响应,所以我们可以通过request对象获得请求相关的数据和操作。通过response对象进行对响应相关的数据封装和一些其他的操作。一.HttpServletRequest与H...原创 2019-12-16 14:47:10 · 447 阅读 · 0 评论 -
关于super关键字
说到super关键字我们就不得不说到this关键字,我们都知道this总是指向当前函数所在的的对象,而super关键字则是指向当前对象的原型。 在java中super关键字通常有两种用法:一是用在子类的构造方法里面;二是用在子类里调用隐藏或重写的属性或行为; 1.super关键字可以在子类的构造方法中显式地调用父类的构造方法,super()必须为...原创 2019-12-10 16:21:24 · 164 阅读 · 0 评论 -
深入理解java中的try cath
发现错误最理想的时机是在编译阶段,也就是你试图运行程序之。然而编译期间并不能找出所有的错误,余下的问题必须在运行期间解决。 而在我们面对异常 的时候我们有两种选择:捕获异常或者抛出异常再进行异常处理,如果不管它,程序直接就停了;我们通过try catch去捕获异常:try{ 要监控的,可能出现异常的语句; }catch(异常类1 对象) { .....原创 2019-12-10 15:32:51 · 483 阅读 · 0 评论 -
关于final修饰符
final修饰符用来修饰类、类中的属性、类中的方法;当final修饰类的时候:表示该类是无法被继承的,也就意味着该类的设计已经被认为很完美而且不需要进行修改或者扩展;当final修饰类中的属性:表示该属性一旦被初始化便不可更改,即对基本类型来说是其值不可变,而对于对象属性来说其引用不可再变;而初始化则可以在两个地方:一个是在其定义处,也就是说在final属性定义时直接给其赋值...原创 2019-12-09 23:19:28 · 100 阅读 · 0 评论 -
HttpClient的使用教程
一、HttpClient介绍 HTTP协议可能是现在Internet上使用最多最重要的协议了,越来越多的java应用程序需要直接通过HTTP协议来访问网络资源。虽然在JDK的java net包中已经提供了访问HTTP协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClien则可以提供高效的、最新的、功能丰富的支持http协议的客户端编程工具包,并且...转载 2019-12-09 22:47:05 · 1944 阅读 · 0 评论 -
fastJson使用教程
Json是一种轻量级的数据交换模式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据的过程中常常被使用,是一种理想的数据交换语言。一、json的形式json的形式分为json对象、json字符串、json对象数组;json对象:{"id":123,"name":二月红,"age":20}json对象数组:[{ "id":123,"name":二月...原创 2019-12-06 15:48:25 · 244 阅读 · 0 评论 -
java格式化数字,整数前自动补零
String.format("%02d",x);String.format()方法,作用就是格式化输出参数. “%02d”是指定输出格式,%作先导标记,0表示自动补0, 2的意思是最小长度为2(如果用4,则1输出0001),d表示整数。x就是你要输出的整数;...原创 2019-12-02 11:33:28 · 2226 阅读 · 0 评论 -
字节数组byte[]转为base64字符串
字节数组转为base64字符串public String byteToBase64(byte[] b){String image=Base64.getEncoder().encodeToString(b);return image;}base64字符串转为字节数组public byte[] base64ToByte(String base64str){return...原创 2019-12-02 11:26:47 · 6170 阅读 · 0 评论 -
日期格式化SimpleDateFormat
在我们平常编写代码的过程中我们会用到时间这一块,举个简单的例子我们若过要在代码中获取当前的时间那么我们通过:Date date=new Date();就可以获取到当前的时间,但是我们获取到的时间一般是这样的:date的值为:“Sat Nov 30 13:21:07 CTS 2019 ”类似这样的格式,这样看起来是非常不方便的,而我们平常更习惯于看这样用的时间格式:“2019...原创 2019-11-30 13:43:19 · 213 阅读 · 0 评论 -
get和post的区别
get和post是http请求的两种基本方法,要说他们的区别,百度一搜到处都是,这里我们先说一下大家都知道的,区别如下:1.get 在浏览器回退的时候是无害的,而post 会再次提交请求;2.get产生的url可以被Bookmark,而post不可以。3.get请求会被浏览器主动cache,而post 不会,除非手动设置;4.get 请求只能进行url编码,而post支持多种编...原创 2019-11-29 00:29:14 · 91 阅读 · 0 评论 -
注解RequestBody详解
之前很多注解老是不太清楚作用并且容易搞混,这次一次性搞明白! 这是最近在使用postman做接口测试的时候发现自己的这个知识盲点。我们通常使用postman做测试的时候最常用的就是post与get请求,两者的区别主要在于一个将参数放在url中进行传递一个将参数放在request body中进行传递这里我们不做过多陈述。直接上干货! RequestBody注解的主要作用就是用于接收前...原创 2019-11-28 17:43:46 · 67554 阅读 · 6 评论 -
ResponseBody的作用
ResponseBodyResponseBodyResponseBody在说ResponseBody之前不得不说一下RequestMapping,注解RequestMapping一般作用在controller上通常写法为@RequestMapping("/url"),其中url表示映射的地址即该类或者该方法的访问地址;@Controller@RequestMapping("/test")...原创 2019-11-27 23:32:08 · 821 阅读 · 0 评论 -
关于java中的修饰符
关于javva中的修饰符先解释下修饰符修饰符的使用先解释下修饰符在java中修饰符共分为三种类型的修饰符,分别是类修饰符、方法修饰符、变量修饰符,三种修饰符中每种修饰符又分为“访问控制修饰符”与“非访问控制修饰符”;而之所以存在修饰符则是为了对类、变量以及方法的访问进行限制,如果不进行限制的话肯定是不行的,这里原因就不一一列举了。修饰符的使用在我们代码中,访问控制修饰符放在最前面,后面紧跟...原创 2019-10-07 16:14:18 · 174 阅读 · 0 评论