![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
ReverieZH
这个作者很懒,什么都没留下…
展开
-
springBoot中junit获取Dao接口
package com.reverie;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;i原创 2020-12-29 17:40:26 · 319 阅读 · 0 评论 -
MyBatis注解形式的含有集合的关联查询,子查询多参数
Student下包含一个List集合问题需要查询出所有Student,每个student需要根据sno查询出所有的Answer但是子查询需要多参数,且父查询不需要这些参数解决构造虚拟字段传值父查询@Select("select sno, name ,IFNULL(#{answerDate},'') answerDate,IFNULL(#{questionnaireId},'') questionnaireId from students")@Results(value = {原创 2020-07-05 20:46:59 · 1209 阅读 · 0 评论 -
JSTL标签库基础学习
JSTL标签库学习JSTL标签库核心标签库基本标签逻辑标签循环标签JSTL标签库JSTL 是 apache 对 EL 表达式的扩展(也就是说 JSTL 依赖 EL), JSTL 是标签语言!JSTL 标签使用以来非常方便,它与 JSP 动作 标签一样,只不过它不是 JSP 内置的标签,需要自己导包,以 及指定标签库而已用来提升在 JSP 页面的逻辑代码的编码效率,使用标签来 替换逻辑代码的直...原创 2020-01-30 17:04:12 · 78 阅读 · 0 评论 -
EL表达式学习
EL表达式的学习获取请求数据获取请求头数据和Cookie数据请求头数据获取Cookie数据获取作用域数据1.普通数据2.对象普通对象集合对象作用域查找顺序EL表达式的逻辑运算El表达式的空值判断El表达式是为了方便获取作用域对象中的数据。传统方式获取作用域数据:缺点一:导入包缺点二:需要强转缺点三:获取数据的代码过于麻烦。获取的是pageContext、request、session、...原创 2020-01-30 16:13:09 · 137 阅读 · 0 评论 -
Ajax学习
Ajax学习:1、什么是Ajax异步刷新技术,用来在当前页面内响应不同的请求内容。2、为什么需要Ajax需求:有的时候我们需要将本次的响应结果和前面的响应结果内容在同一个页面中展现给用户。解决:1、在后台服务器端将多次响应内容重新拼接成一个jsp页面,响应。但是这样会造成很多响应内容被重复的响应,资源浪费2、使用Ajax技术3、使用AjaxAjax访问原理Ajax的基本使...原创 2020-01-29 14:14:17 · 113 阅读 · 0 评论 -
JSP学习笔记
JSP学习JSPJSP原理Jsp的三种注释JSP的Page指令Jsp的局部代码块JSP的全局代码块Jsp的脚本段语句:Jsp的静态引入和动态引入静态引入:动态引入:jsp的转发标签:JSPJSP 全名为 Java Server Pages,中文名叫 java 服务器页面,其根 本是一个简化的 Servlet 设计,它 [1] 是由 Sun Microsystems 公司 倡导、许多公司参与一起...原创 2020-01-28 14:01:42 · 166 阅读 · 0 评论 -
servlet学习笔记
Servlet学习Servlet请求中文乱码Servlet流程请求转发request的作用域重定向Cookie学习设置cookie获取cookieSessionServlet请求中文乱码1.使用StringString name=request.getParameter("name");name=new String(name.getBytes("iso8859-1"),"utf-8");...原创 2020-01-27 13:57:07 · 186 阅读 · 0 评论 -
XML
XMLXML可扩展标记语言,没有固定的标签,所有标签都可以自定义xml被用于信息的记录和传递,经常被当作配置文件(1)声明信息描述xml的版本信息和编码方式<?xml version="1.0" encoding="UTF-8"?>(2)DTDDTD:文档类型定义DTD用于约束xml的文档格式,DTD分为两种,内部DTD,外部DTD1.内部DTD1.声明根元素x...原创 2019-11-05 16:44:08 · 101 阅读 · 0 评论 -
JDBCUntils
使用配置文件写一个JDBCUntils关于连接和关闭的类import java.io.IOException;import java.io.Reader;import java.sql.*;import java.util.Properties;public class JDBCUntil { static Properties pros=null; static {...原创 2019-12-10 00:49:55 · 145 阅读 · 0 评论 -
JDBC
访问数据库的技术叫JDBC,对数据库的数据进行添加,删除,修改和查询JDBC的API,存放在java.sql包中java.sql.Connection:负责连接数据库java.sql.Statement:负责执行数据库sql语句java.sql.ResultSet:负责存放查询结果JDBCJDBC是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口。JDBC是一种底...原创 2019-10-31 00:23:23 · 278 阅读 · 0 评论 -
java动态性
文章目录反射机制(1)反射(2)反射机制性能问题动态编译反射机制(1)反射指的是可以于运行时加载、探知、使用编译期间完全未知的类。程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和方法。具体请看:https://blog.csdn.net/weixin_44035017/article/details/101161153反射机制可以动态加...原创 2019-10-29 18:27:53 · 472 阅读 · 0 评论 -
编写一个WebServer
文章目录基础知识(1)简介(1)反射(3)XML解析1.XML2.SAX解析3.SAX解析服务器配置文件基础知识(1)简介上网浏览网页,离不开服务器,客户请求页面,服务器响应内容,响应的内容是根据每个web请求来产生动态内容的,其内部即启动多个线程来产生不同内容。这种请求响应式的交互,都是基于HTTP协议的。(1)反射反射Reflection: 把java类中的各种结构(方法、属性、构造...原创 2019-10-27 22:13:50 · 327 阅读 · 0 评论 -
javaSE 线程并发
接上一篇https://blog.csdn.net/weixin_44035017/article/details/101293121多线程并发线程同步(1)线程安全(2)线程并发(3)线程同步(2)线程同步机制多线程并发性能分析(1)范围太大,导致效率太低(2)对象不对,导致线程不安全(3)范围太小导致没锁住(4)线程安全并尽可能锁定合理范围线程同步在多线程的程序中,容易发生资源抢占的问题...原创 2019-10-15 18:23:17 · 517 阅读 · 0 评论 -
lamda表达式
lamda是jdk8的一个新特性它可以避免匿名内部类定义过多 ,其实质属于函数式编程的概念它在简单线程的使用比较广泛首先定义一个接口interface Myinterface{ void lambda();}用不同的方式去实现这个接口看使用外部类class Outer implements Myinterface{ @Override public void lambda(...原创 2019-10-13 20:41:25 · 177 阅读 · 0 评论 -
CommonsIO 常用操作
多个class文件打包成jar包,多个jar包放在一起组成一个组件,多个组件组成一个框架CommonsIO就是一个组件,是Apache的一个组件下载地址http://commons.apache.org/proper/commons-io/download_io.cgi下载zip...原创 2019-10-13 11:53:26 · 690 阅读 · 0 评论 -
JavaSE 多线程
同一个时间完成一个事情就是单线程同时进行多个事情就是线程机制并发与并行并行是指两个或者多个事件在同一时刻发生并发是指两个或多个事件在同一时间间隔发生。可以这么看,并行就是真的同时在干多个事情,吃牛排时,你左手拿叉右手拿刀,两个手一块操作牛排,这就是并行并发可以看做是一个假的同时。就是在一个时间T内,你把这个时间分为很多个小的时间段t1tn,这样有形成了很多个时间间隔ti,在这每一个时间...原创 2019-09-25 17:15:46 · 301 阅读 · 0 评论 -
javaSE 网络编程基础
局域网与因特网实现两台计算机之间的通信,就需要一个网络线路来连接两台计算机局域网(LAN):有多个计算机连接而成组成的封闭式计算机组。局域网规模小,容易小,传送数据快广域网(WAN):将LAN延伸到更大的范围,组成广域网。广域网的搭建非常复杂。网络协议(1)TCP协议TCP协议是一种以固接连线为基础的协议,它提供两台计算机间可靠的数据传送。TCP可以保证从一端数据送至另一端时,数据...原创 2019-09-28 22:57:37 · 339 阅读 · 0 评论 -
MySQL安装及导入数据库 exclipse和IDEA导入驱动包 IDEA连接数据库
由于半个月前电脑的硬盘坏掉,所以重装了系统导致MySQL也没了,加上曾经第一次安装MySQL道路也比较坎坷,所以这次安装记录下来安装数据库打开官网,点开DOWMLOADS页面和之前变的有点不一样了,点击MySQL Community (社区版)下载这个是ZIP的安装,比较复杂,我安装的是Installer版本,直接安装比较简单选择第一个下载下载好了直接点开安装这个是是否更...原创 2019-09-29 17:29:42 · 599 阅读 · 0 评论 -
java内存分析笔记
java虚拟机的内存可以分为三个区域:栈,堆,方法区栈:1。栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧(存储局部变量,操作数,方法出口等)2.jvm为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量)3.栈属于线程私有,不能实现线程间的共享4.栈是由系统自动分配,速度快,是一个连续的内存空间堆:1.堆用于创建好的对象和数组(数组也是对象) ...原创 2019-10-08 20:06:19 · 105 阅读 · 0 评论 -
javaSE 类和对象
面向对象设计,其实质上就是对现实世界中的对象进行建模操作。举个例子:比如一个人a,他有身高,体重,眼睛颜色,头发长短等等这些属性,同时他有奔跑(这个动作)的能力,有跳跃(这个动作)的能力,等等。但一个人b,他也有身高,体重,眼睛颜色,头发长短等等这些属性(属性的值肯和他人不同,比如a的身高180,b的身高170),同时他也有奔跑(这个动作)的行为,有跳跃(这个动作)的行为,等等。然后你发现所有人...原创 2019-09-13 20:49:38 · 323 阅读 · 0 评论 -
JavaSE 泛型
为什么要定义泛型比如下面的例子public class Example { private Object object; / public Object getObject(){ return object; } public void setObject(Object object){ this.object=obje...原创 2019-09-23 21:33:48 · 108 阅读 · 0 评论 -
javaSE 枚举类型
枚举类型可以取代以往常量的定义方式,就是将常量封装在类或接口中。枚举类型还提供了安全检查功能。枚举类型本质上是以类的形式存在的枚举类型(1)使用枚举类型设置常量将常量放置在接口中,该常量不能被修改,因为在接口中定义常量时,该常量的修饰符为final与static 在接口中定义常量 public interface Constants{ public static final do...原创 2019-09-23 18:12:45 · 103 阅读 · 0 评论 -
JavaSE 反射
Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。通过反射机制,程序员可以更深入地控制程序的运行过程Class类所有类均继承Object类,在Object类中定义了一个getClass()方法,该方法返回一个类型为Class的对象。Clas...原创 2019-09-22 18:13:29 · 139 阅读 · 0 评论 -
JavaSE 内部类
java类包如果程序规模很大时,就又可能出现类名冲突的情况,java提供了一种管理类文件的机制,就是类包(1)类名冲突java中每个接口或类都来自不同的类包,无论是java API中的类与接口还是自定义中的类与接口,都需要隶属于某一个类包,这个类包包含了类和接口。】(2) 完整的类路径比如java.lang.Math java.lang是包的名称 Math是类的名称比如,java...原创 2019-09-18 11:55:17 · 68 阅读 · 0 评论 -
javaSE继承,接口与多态
类的继承继承在面向对象中的一个重要思想,它可以使整个程序框架具有一定的弹性。在程序中复用一些已经定义完善的类不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性继承,其基本思想是基于父类进行扩展,得到一个新的子类。子类可以继承父类的属性和方法。创建一个Test类,同时创建一个继承Test类的Test2子类,其中包括重写父类的成员方法和新增的成员方法public class Tes...原创 2019-09-16 21:03:39 · 92 阅读 · 0 评论 -
javaSE 数字处理类
一·数字格式化数字格式化操作主要针对的是浮点型数据,包括double型和float型数据。在java中,使用java.text.DecimalFormat格式化数字没有格式化的数据遵循如下原则:1.如果数据绝对值大于0.001并且小于10000000(107),使用常规小数形式表示2.如果数据绝对值小于0.001并且大于10000000,使用科学记数法表示由于上述的输出格式不能满足解决实...原创 2019-09-16 00:29:38 · 330 阅读 · 0 评论 -
JavaSE 包装类
java.lang包中的Integer类,Long类和Short类,可将基本类型int,long和short封装成一个类。这些类都是Number的子类,区别就是封装了不同的数据类型。一·Integerinteger类在对象中包装了一个基本类型int的值。该类的对象包含一个int类型的字段。此外,该类提供了多个方法,能在int类型和String类型之间互相转换,同时还提供了其他一些处理int类型...原创 2019-09-14 19:06:27 · 166 阅读 · 0 评论 -
javaSE 常用排序算法
算法解析可看https://blog.csdn.net/weixin_44035017/article/details/95811991冒泡排序package com.code;import java.util.Arrays;//psvm//soutpublic class BubbleSort { public static void main(String[] args...原创 2019-09-13 01:13:11 · 108 阅读 · 0 评论 -
javaSE 数组概述
数组概述1.一维数组的创建及使用(1)创建一维数组1.先声明,再用new运算符进行内存分配有两种方式:数组元素类型 数组名字[];数组元素类型[] 数组名字声明数组后,还不能立即访问它的任何元素,因为数组只是给出了数组名字和元素的数据类型,要想真正使用数组,还要为它分配内存空间。在为数组分配内存空间时必须指明数组的长度。数组名字=new 数组元素的类型[数组元素的个数]使用...原创 2019-09-11 23:54:15 · 63 阅读 · 0 评论 -
javaSE 字符串
一·String类1.字符串用双引号表示" "String s="hello";2.创建字符串java语言中将字符串作为对象。创建对象要使用类的构造方法。String类的常用构造方法1.String(char a[])用一个字符数组创建String对象char a={'h','e','l','l','o'};String a=new String(a);2.String(c...原创 2019-09-11 17:27:45 · 171 阅读 · 0 评论 -
java复习笔记 流程控制条件,循环
流程控制条件语句ifswitch循环语句whiledo whileforforeach语句for(元素变量x : 变量对象obj){ 引用了x的java语句}`````javapackage com.demo;public class Demo { public static void main(String[] args) { ...原创 2019-09-11 10:18:15 · 72 阅读 · 0 评论 -
javaSE 类包
一·java类包如果程序规模很大时,就又可能出现类名冲突的情况,java提供了一种管理类文件的机制,就是类包(1)类名冲突java中每个接口或类都来自不同的类包,无论是java API中的类与接口还是自定义中的类与接口,都需要隶属于某一个类包,这个类包包含了类和接口。】(2) 完整的类路径比如java.lang.Math java.lang是包的名称 Math是类的名称比如,ja...原创 2019-09-18 10:58:22 · 230 阅读 · 0 评论 -
JavaSE final的使用(变量,方法和类)
一·final变量final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量。final关键字定义的变量必须在声明时对其进行赋值操作。final除了可以修饰基本数据类型的常量,还可以修饰对象引用,也可以修饰数组。一个既是static又是final的字段只占据一段不能改变的储存空间。import static java.lang.System...原创 2019-09-18 11:00:33 · 106 阅读 · 0 评论 -
javaSE 异常处理
异常处理(1)异常程序运行过程中可能存在的一些错误称为异常。异常会中断正在执行的程序的指令流在一个程序中,可能会出现一些程序员没有预料到的情况,或者是无法控制的一些情况。比如数组溢出,用户的坏数据,试图打开一个根本不存在的文件,这些都会导致异常的发生public class Test { public static void main(String[] args) { ...原创 2019-09-18 17:26:17 · 210 阅读 · 0 评论 -
JavaSE Annotation功能
Annotation可用于类,构造方法,成员变量,方法,参数等的声明中定义Annotation类型在定义Annotation类型时,也需要用到用来定义接口的interface关键字,但需要在interface关键字前加“@" 符号public @interface NoMemberAnnotation{ //定义一个不包含任何成员的Annotation}public @inte...原创 2019-09-22 16:47:41 · 94 阅读 · 0 评论 -
JavaSE ZIp压缩和解压
ZIP压缩输入流/输出流(1)ZipEntry此类用于表示ZIP文件条目。构造方法ZipEntry(String name) //创建具有指定名称的新的zip条目。 ZipEntry(ZipEntry e) //创建一个新的zip条目,其中的字段从指定的zip条目中取出。 常用方法方法返回值说明isDirectory()boolean如果这是目...原创 2019-09-21 22:28:08 · 307 阅读 · 0 评论 -
javaSE I/O
在程序中,变量,数组和对象中的数据都是暂时的,当程序结束后它里面的数据也就消失了。但是实际中我们需要将数据保存下来,这时就需要我们的I/O来保存数据,将数据写入文件中。流流是一组有序的数据序列,它分为输入流和输出流。输入输出流就像一辆卡车,他把数据放入车里面,然后一块打包送到目的地。输入流输出流的目的地除了可以是磁盘文件,也可以是键盘,鼠标,显示器或内存输入流指从目的地读取数据,运送到程序...原创 2019-09-21 21:10:46 · 368 阅读 · 0 评论 -
JavaSE 集合类(Collection接口,List接口,Map接口)
集合类就好比一个容器,比如说数组就是一个可以存放数据的容器,但是数组的长度是不可变的,集合类的长度却是可变的。常用的集合有Map集合,Set集合,List集合。List与set继承collection接口Collection接口Collection接口通常不能直接使用,但该接口提供了添加元素,删除元素,管理数据的方法。List接口和Set接口都继承了Collection接口,所以他们能实现C...原创 2019-09-19 21:57:55 · 264 阅读 · 0 评论 -
Statement 和Resultset笔记
对Statement和Resultset的学习StatementStatement的常用方法Statementstatement是java中的一个连接数据库的一个重要接口,在建立与数据库的连接之后,向数据库发送执行的sql语句(执行不带参数的简单sql)JDBC中有三种Statement 接口1.Statement :执行不带参数的简单sql2.PreparedStatement (Pr...原创 2019-05-20 20:57:00 · 1733 阅读 · 0 评论 -
javaSE基础 数据库操作3之数据库恢复
java基础 数据库操作3之数据库恢复流程上一篇写了数据的备份,本篇将写数据库的恢复操作思想:备份文件中写入的是将数据库表转换为sql后的语句,所以备份就只需将备份文件中的sql语句执行即可//数据库恢复 public static void restore(String filepath){ File sqlFile=new File(filepath); //创建备份文...原创 2019-05-20 11:17:24 · 122 阅读 · 0 评论