- 博客(69)
- 收藏
- 关注
原创 Internal Error occurred. org.junit.platform.commons.JUnitException: TestEngine with ID ‘junit-jupite
莫名其妙的bugCaused by: org.junit.platform.commons.JUnitException: MethodSelector [className = 'com.wgg.MybatisPlusDemo02ApplicationTests', methodName = 'contextLoads', methodParameterTypes = ''] resolution failed at org.junit.platform.launcher.listeners.disc
2021-03-28 20:02:37 15025 7
原创 Java数据结构10:树
第10章:树结构基础1、树结构数组:优点:通过下标方式访问元素,速度快。对于有序数组还可以使用二分查找提高检索速度缺点:如果要检索具体某个值,或者插入值(按一定顺序)会移动整体,效率较低。链表:优点:插入一个数值,只需要将插入节点链接到链表中,删除效率也很好缺点:在进行检索时,效率低,需要从头节点开始遍历树:提高数据存储,读取的效率树的示意图2、二叉树每个节点最多只能有两个子节点,左节点,右节点满二叉树:所有叶子节点都在最后一层,节点总数=2^n-1,n为层数
2021-03-09 09:03:50 277
原创 Java数据结构9:哈希表
第9章:哈希表1、哈希表(散列)Hash table :根据关键码值(key-value)而直接进行访问的数据结构把(key-value)映射到表中一个位置来访问记录,映射函数叫做散列函数,存放记录的数组叫散列表这是数组实现的也可以用链表来实现public class HashTabDemo { public static void main(String[] args) { HashTab hashTab = new HashTab(7); //写
2021-03-09 08:32:42 324
原创 Java数据结构8:查找算法
第8章:查找算法1、线性查找算法epublic static int seqSearch(int[] arr,int value){ for (int i = 0; i < arr.length; i++) { if (arr[i]==value){ return i; } } return -1; }2、二分查找算法(折半)数组有序,从小到大排序
2021-03-09 08:31:22 299
原创 Java数据结构7:排序算法
第7章:排序算法1、排序内部排序:将需要处理的所有数据都加载到内存中进行排序。外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序时间频度:一个算法中语句执行次数时间复杂度:算法中的基本操作语句的重复执行次数是问题规模n的某个函数。空间复杂度:临时占用存储空间大小的度量。常见的算法时间复杂度由小到大依次为:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(nk)<O(2n)Ο(1)<Ο(log_2n)<Ο(n)<Ο(
2021-03-09 08:30:14 136
原创 java数据结构6:递归
第6章:递归递归:方法自己调用自己,每次调用时传入不同的变量1、调用机制public class Demo01 { public static void main(String[] args) { test(4); } public static void test(int n){ if (n>2){ test(n-1); } System.out.prin
2021-03-09 08:28:35 344
原创 java数据结构5:栈
第5章:栈1、栈栈(stack):先进后出2、数组模拟栈class ArrayStack{ private int maxSize; private int[] stack; private int top=-1; //栈顶 public ArrayStack(int maxSize) { this.maxSize = maxSize; stack=new int[this.maxSize]; } public
2021-03-09 08:26:41 130
原创 java数据结构4:链表
第4章:链表1、单向链表节点类public class HeroNode { public int no; public String name; public String nickname; //别名 public HeroNode next; public HeroNode(int no, String name, String nickname) { this.no = no; this.name = name
2021-03-09 08:25:25 218
原创 Java数据结构和算法1概述、2数据结构、3稀疏数组和队列
Java数据结构和算法第1章:概述程序=算法+数据结构第2章:数据结构线性结构:数据元素之间存在一对一的线性关系顺序存储结构顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储结构链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的:数组、队列、链表和栈非线性结构:二维数组,多维数组,广义表,树结构,图结构第3章:稀疏数组和队列1、稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀
2021-03-09 08:19:29 140
原创 Spring09:声明式事务
Spring09:声明式事务事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用事务四个属性ACID原子性一致性隔离性持久性接口int addUser(User user);int deleteUser(int id);Mapper.xml这里deletes故意写错<insert id="addUser" parameterType="user"> insert into user(id,name,pwd) values (#
2020-11-27 17:51:59 139
原创 Spring08:整合Mybatis
Spring08:整合MybatisMybatis回顾新建项目依赖,资源过滤,跳过测试<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> </dependency>
2020-11-27 17:51:06 130
原创 Spring07:AOP
Spring07:AOPAOP:面向切面编程Aop 在 不改变原有代码的情况下 , 去增加新的功能通过 Spring API 实现AOP<dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4&
2020-11-27 17:50:23 169
原创 Spring05:使用注解开发
Spring05:使用注解开发@Component包扫描<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/sche
2020-11-27 17:47:29 100
原创 Spring04:自动装配
Spring04:自动装配Spring中bean有三种装配机制在xml中显式配置在java中显示配置隐式的bean发现机制和自动装配自动装配组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean自动装配(autowiring):spring自动满足bean之间的依赖,也就是我们说的IoC/DI新建项目依赖<dependencies> <dependency> <groupId&g
2020-11-27 17:46:37 109
原创 Spring03:依赖注入(DI)
Spring03:依赖注入(DI)构造器注入Set注入@Datapublic class Address { private String address;}@Datapublic class Student { private String name; private Address address; private String[] books; private List<String> hobbies; private Ma
2020-11-27 17:45:12 119
原创 Spring02:快速上手Spring
Spring02:快速上手Spring新建项目依赖<dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>
2020-11-27 17:44:22 141
原创 Spring01:概述及IOC理论推导
官网 : http://spring.io/官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/GitHub : https://github.com/spring-projectsSpring01:概述及IOC理论推导Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)IOC基础新建项目User@Datapublic class User { pri
2020-11-27 17:43:33 182
原创 MyBatis07:缓存
MyBatis07:缓存缓存内存中的临时数据经常查询的数据放在缓存中,提高效率mybatis中默认定义两级缓存:一级缓存、二级缓存一级缓存默认开启,SqlSession级别的缓存,也叫本地缓存同一次会话查询到的数据会放在本地缓存一级缓存就是一个map搭建项目接口User queryUserById(@Param("id")int id);UserMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DO
2020-11-26 11:14:58 102
原创 MyBatis06:动态SQL
MyBatis06:动态SQL动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句 - if - choose (when, otherwise) - trim (where, set) - foreach搭建环境数据库文件CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL,`title` VARCHAR(100) NOT NULL,`author` VARCHAR(30) NOT NULL,`create_time` D
2020-11-26 11:14:06 96
原创 MyBatis05:一对多和多对一处理
MyBatis05:一对多和多对一处理1、多对一数据库文件:多个学生对应一个老师USE mybatis;CREATE TABLE `teacher`(`id` INT(10) NOT NULL,`name` VARCHAR(30) DEFAULT NULL,PRIMARY KEY(`id`))ENGINE=INNODB DEFAULT CHARSET=utf8;INSERT INTO teacher(`id`,`name`) VALUES('1','秦老师');CREATE TAB
2020-11-26 11:13:19 110
原创 MyBatis04:使用注解开发
MyBatis04:使用注解开发使用注解UserMapper接口中直接使用注解public interface UserMapper { @Select("select * from user") public List<User> getAllUser();}使用class绑定接口<mappers> <mapper class="com.wgg.mapper.UserMapper"/></mappers>测试
2020-11-26 11:12:32 154 1
原创 MyBatis03:ResultMap和分页
MyBatis03:ResultMap和分页搭建项目当数据库字段和实体类属性名不一致时public class User { private int id; private String name; private String password; //get\set\有参无参构造}查询结果为nullsql映射文件中<select id="selectUser" resultType="com.wgg.pojo.User"> sele
2020-11-26 11:11:36 268
原创 MyBatis02:CRUD操作和配置解析
MyBatis02:CRUD操作和配置解析CRUDselect根据id查询用户接口方法public interface UserMapper { //查询所有用户 List<User> selectUser();}sql映射文件<select id="selectUserById" parameterType="integer" resultType="com.wgg.pojo.User"> select * from use
2020-11-26 11:10:40 150
原创 Java设计模式-25、访问者模式-操作复杂对象结构
第25章:访问者模式-操作复杂对象结构定义:访问者模式(Visitor Pattern):提供一个作用于某对象结构中的各元素的操作表示,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。医院处方单结构:代码实现://抽象访问者abstract class Visitor { public abstract void visit(ConcreteElementA elementA); public abstract void visit(ConcreteEl
2020-11-23 00:37:43 185
原创 Java设计模式-24、模板方法模式
第24章:模板方法模式定义:模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。请客吃饭中有些步骤是固定的结构:模板方法定义在抽象类中,将基本操作方法组合在一起,是一个具体方法基本方法抽象方法:抽象类声明、由其具体子类实现具体方法:抽象类或具体类声明并实现钩子方法:抽象类或具体类声明并实现,通常父类空实现,子类加以扩展//模板方法public void TemplateMethod()
2020-11-23 00:36:49 104
原创 Java设计模式-23、策略模式-算法的封装与切换
第23章:策略模式-算法的封装与切换定义:策略模式(Strategy Pattern):定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法独立于使用它的客户而变化。将算法的定义与使用分开结构:代码实现://抽象策略类abstract class AbstractStrategy { public abstract void algorithm(); //声明抽象算法}//具体策略类class ConcreteStrategyA extends Abs
2020-11-23 00:35:56 424
原创 Java设计模式-22、状态模式-处理对象的多种状态及其相互转换
第22章:状态模式-处理对象的多种状态及其相互转换定义:状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。结构:代码实现://抽象状态类abstract class State { //声明抽象业务方法,不同的具体状态类可以不同的实现 public abstract void handle();}//具体状态类class ConcreteState extends State { public vo
2020-11-22 18:10:08 956
原创 Java设计模式-21、观察者模式-对象间的联动
第21章:观察者模式-对象间的联动定义:观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。多人联机对战,类似魔兽世界结构:代码实现://抽象目标abstract class Subject { //定义一个观察者集合用于存储所有观察者对象 protected ArrayList observers<Observer> =new ArrayList();
2020-11-22 18:09:04 243
原创 Java设计模式-20、备忘录模式-撤销功能的实现
第20章:备忘录模式-撤销功能的实现定义:备忘录模式(Memento Pattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。象棋中后退一步结构:代码实现://原发器:创建备忘录,存储内部状态public class Originator { private String state; public Originator() { } // 创建一个备忘录对象 publi
2020-11-22 16:06:28 764
原创 Java设计模式-18、迭代器模式-遍历聚合对象中的元素
第18章:迭代器模式-遍历聚合对象中的元素定义:迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。存储和遍历分离遥控器可以遍历电视中的频道,而无需暴露其内部结构结构:代码实现://抽象迭代器interface Iterator { public void first(); //将游标指向第一个元素 public void next(); //将游标指向下一个元素 public
2020-11-22 16:05:20 327
原创 Java设计模式-19、中介者模式-协调多个对象之间的交互
第19章:中介者模式-协调多个对象之间的交互定义:中介者模式(Mediator Pattern):用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。同事对象之间使用中介者结构:代码实现://抽象中介者abstract class Mediator { protected ArrayList<Colleague> colleagues; //用于存储同事对象 //注册方法
2020-11-22 12:40:14 487
原创 Java设计模式-17、解释器模式-自定义语言的实现
第17章:解释器模式-自定义语言的实现定义:解释器模式(Interpreter Pattern):定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。解释表达式,再计算结构:代码实现://抽象表达式abstract class AbstractExpression { public abstract void interpret(Context ctx);}//终结符表达式class TerminalExpression
2020-11-22 09:24:19 322
原创 Java设计模式-16、命令模式-请求发送者与接收者解耦
第16章:命令模式-请求发送者与接收者解耦定义:命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作开关既可以控制灯,也可以控制排气扇开关(请求发送者)--------电器(请求接收者)结构:代码实现://抽象命令abstract class Command { public abstract void execute();}//请求发送者class Invoker
2020-11-22 09:22:07 217
原创 Java设计模式-15、职责链模式-请求的链式处理
第15章:职责链模式-请求的链式处理定义:职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止结构:代码实现://抽象处理者abstract class Handler { //维持对下家的引用 protected Handler successor; public void setSuccessor(Handle
2020-11-22 09:20:46 303
原创 springBoot员工管理系统
员工管理系统1、准备工作静态资源:链接:https://pan.baidu.com/s/1qtUDuJNVupr872kVDO-veg提取码:fabogitee:https://gitee.com/planting-trees-chen/spring-boot新建springboot项目导入jar包<dependencies> <dependency> <groupId>org.springframework.boot</gr
2020-11-14 23:03:40 1208
原创 Java设计模式-16、命令模式-请求发送者与接收者解耦
第16章:命令模式-请求发送者与接收者解耦定义:命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作开关既可以控制灯,也可以控制排气扇开关(请求发送者)--------电器(请求接收者)结构:代码实现://抽象命令abstract class Command { public abstract void execute();}//请求发送者class Invoker
2020-11-12 19:36:22 414
原创 Java设计模式-15、职责链模式-请求的链式处理
第15章:职责链模式-请求的链式处理定义:职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止结构:代码实现://抽象处理者abstract class Handler { //维持对下家的引用 protected Handler successor; public void setSuccessor(Handle
2020-11-12 19:10:16 656
原创 Java数据结构和算法-5、栈、数组链表模拟栈、前中后缀表达式
第5章:栈栈栈(stack):先进后出数组模拟栈class ArrayStack{ private int maxSize; private int[] stack; private int top=-1; //栈顶 public ArrayStack(int maxSize) { this.maxSize = maxSize; stack=new int[this.maxSize]; } public boo
2020-11-07 08:36:15 102
原创 Java数据结构和算法-4、链表-单向/双向/环形链表/面试题
第4章:链表单向链表节点类public class HeroNode { public int no; public String name; public String nickname; //别名 public HeroNode next; public HeroNode(int no, String name, String nickname) { this.no = no; this.name = name;
2020-11-07 07:48:32 172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人