- 博客(75)
- 资源 (4)
- 收藏
- 关注
原创 【狂神说】spring学习笔记总结全
PDF文档下载https://wwm.lanzouw.com/iIlOyydm6ch密码:8rui源码下载文章目录Spring51.、Spring1.1、简介1.2、优点1.3、组成1.4、扩展弊端:2、IoC(控制反转)理论推导 【重点】传统的调用改良后:思想:IoC本质3、HelloSpring第一个程序思考问题:修改上一个module总结:4、IoC创建对象的方式使用无参构造创建对象,默认。使用有参构造创建对象三种方式:总结:5、Spring配置5.1、别名:alias5.2、Bean的配
2022-01-06 10:08:34
577
1
原创 【狂神说】mybatis学习笔记(全)
zip格式源码下载PDF格式文章目录MyBatis1、简介1.1、什么是Mybatis如何获得Mybatis?1.2、持久化为什么需要持久化?1.3、持久层1.4、为什么需要mybatis?2、第一个Mybatis程序2.1、搭建环境1.搭建数据库2.新建项目2.2、创建一个模块编写mybatis的核心配置文件编写mybatis工具类2.3、编写代码实体类Dao接口接口实现类2.4、测试注意点:junit测试遇到的问题配置文件没有注册方法名不对,返回类型不对字符错误maven导出资源问题思路准备工作代码
2022-01-04 21:02:14
1027
1
原创 数据结构复习题
文章目录数据结构 复习题填空选择判断简答存储结构森林阿克曼(Ackerman)函数排序直接选择排序:冒泡排序:数据结构 复习题填空在数据结构中, 从逻辑上能够把数据结构分为线性结构非线性结构数据结构在计算机内存中的表示是指数据的存储结构链式存储的特点是利用**指针** 来表示数据元之间的逻辑关系。对于给定的n个元素,可以构造出的逻辑结构有集合树形结构线性结构图结构顺序存储结构是通过==结点物理上相邻==表示元素之间的关系的;
2022-01-02 15:06:39
2296
3
原创 狂神说注解和反射笔记整理
笔记总结来自狂神说Java注解和反射详解文章目录注解(重要)1、注解入门2、内置注解3、元注解4、自定义注解**案例1:****案例2:**代码反射(重要)1、Java反射概述1.1、动态语言 VS 静态语言1.2、反射机制概念1.3、Java反射机制研究应用1.4、反射优缺点1.5、反射相关主要API代码实现2、理解Class类并获取Class实例2.1、Class 类介绍Class类Class 类的常用方法2.2、获取Class类的实例代码实现2.3、哪些类型可以有Class 对象?代码实现3、类的加
2022-01-01 21:21:58
1305
原创 13、缓存(了解)
文章目录13.1 简介13.2 MyBatis缓存13.3 一级缓存测试缓存失效的情况:小结13.4 二级缓存步骤:代码实现小结:13.5 缓存原理流程图代码实现代码讲解总结13.6 自定义缓存-ehcache13.1 简介查询 : (要)连接数据库,(会)耗资源!解决查询耗资源问题?一次查询的结果,给他暂存一个可以直接取到的地方 --> 内存:(放在内存里就叫做),缓存我们再次查询的相同数据的时候,直接走缓存,不走数据库了。缓存解决三高(高并发、高可用、高性能)问题:架构,没有
2021-12-23 20:28:08
836
原创 12、动态SQL(重点)
文章目录搭建环境IF(重点)choose (when, otherwise)trim、where、setwhere(重点)set(重点)SQL片段注意事项:Foreach案例总结什么是动态SQL:动态SQL就是根据不同的条件生成不同的SQL语句所谓的动态SQL,本质上还是SQL语句,只是我们可以在SQL层面,去执行一个逻辑代码动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的
2021-12-23 20:25:43
639
原创 11、一对多处理(难点)
文章目录1.环境搭建2. 按照结果嵌套嵌套处理小结一个老师多个学生;对于老师而言,就是一对多的关系;1.环境搭建导入lombok依赖导入配置文件导入java下的包实体类@Datapublic class Student { private int id; private String name; private int tid;}@Datapublic class Teacher { private int id; private
2021-12-23 20:22:24
379
原创 10、多对一处理(难点)
文章目录1.数据库设计测试环境搭建2. 按照查询嵌套处理3.按照结果嵌套处理回顾Mysql多对一查询方式多个学生对应一个老师多个学生,对应一个老师对于学生这边而言,关联 … 多个学生,关联一个老师【多对一】对于老师而言,集合,一个老师,有很多学校【一对多】1.数据库设计CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`))
2021-12-23 20:20:55
542
原创 9、Lombok
文章目录使用步骤:说明:Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。使用步骤:在IDEA中安装Lombok插件在项目中导入lombok的jar包<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><depe
2021-12-23 20:17:40
70
原创 8、使用注解开发(重点)
文章目录8.1 面向接口开发8.2 使用注解开发动态代理MyBatis详细执行流程(重要)8.3 注解CURD自动提交事务CURD注意关于@Param( )注解#{} 和 ${} 区别8.1 面向接口开发面向接口开发思想大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因︰解耦,可拓展,提高复用,分层开发中,上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性更好在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成
2021-12-23 20:15:54
264
原创 7、分页.
文章目录7.1 使用Limit分页7.2 RowBounds分页7.3 分页插件思考:为什么分页?减少数据的处理量7.1 使用Limit分页语法SELECT * from user limit startIndex,pageSize SELECT * from user limit 3 #[0,3]-- startIndex 当前页码-- pageSize 页面大小使用MyBatis实现分页,核心SQL (推荐使用sql层面做分页)接口//分页List<Us
2021-12-23 20:12:41
69
原创 6、日志.
文章目录6.1 日志工厂错误6.2 Log4j配置Log4j简单使用6.1 日志工厂如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手!曾经:sout、debug现在:日志工厂SLF4JLOG4J 【掌握】LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING 【掌握】NO_LOGGING在MyBatis中具体使用哪一个日志实现,在设置中设定STDOUT_LOGGING标准日志输出在mybatis核心配置
2021-12-23 20:10:49
669
原创 5、解决属性名和字段名不一致的问题
文章目录1. 问题2. ==resultMap==(重点、难点)1. 问题数据库中的字段新建一个项目,拷贝之前的,测试实体类字段不一致的情况//实体类public class User { private int id; private String name; private String password; ……}测试出现问题User{id=1, name='张三', password='null'}// select * from user whe
2021-12-23 20:06:32
221
原创 4、mybatis配置解析
文章目录1、核心配置文件2、环境配置(environments)3、属性(properties)4、类型别名(typeAliases)5、 设置 (Settings)6、其他配置7、映射器 (mapper)练习8. 作用域和生命周期配置解析之后的是要掌握的能力1、核心配置文件mybatis-config.xmlMybatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。 配置文档的顶层结构如下:configuration(配置)properties(属性) 掌握settin
2021-12-18 21:29:22
102
原创 2.线程实现(重点)
文章目录线程的创建三种创建方式继承Thread类实现Runnable接口Thread 和Runnable小结实现Callable 接口初识并发问题案例:龟兔赛跑静态代理Lambda表达式线程的创建三种创建方式继承Thread类继承Thread类实现多线程步骤如下:自定义线程类继承Thread类重写run() 方法,编写线程执行体创建线程对象,调用start() 方法启动线程创建线程方式1:继承Thread(通过查看源码发现Thread 是实现Runnable接口的)注意:线程开启不一
2021-12-17 21:31:39
337
原创 1.线程简介
文章目录多任务多线程普通方法调用和多线程程序 进程 线程Process与Thread本章核心概念多任务多线程普通方法调用和多线程程序 进程 线程Process与ThreadProcess:进程Thread:线程说起进程,就不得不说下==程序==。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而==进程==则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没
2021-12-17 21:26:07
136
原创 狂神 - 工厂模式
文章目录作用:OOP七大原则核心本质:三种模式:简单工厂模式流程图思路代码实现Car接口两个汽车类汽车工厂类消费者类总结工厂方法模式流程图思路代码实现Car接口两个汽车类汽车工厂接口为每一辆车创建一个工厂类添加一辆车消费者类总结小结:作用:实现了创建者和调用者的分离详细分类:简单工厂模式工厂方法模式抽象工厂模式OOP七大原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭只能添加,但是不能修改本身的东西对修改是关闭的依赖倒转原则:要针对接口编程
2021-12-17 21:03:47
231
原创 狂神 - 单例模式
文章目录饿汉式单例DCL懒汉式静态内部类总结枚举单例模式是,每个程序员必须会写的。枚举饿汉式单例package com.y.single;/*饿汉式单例 很饿,一上来就把对象加载了! 问题:有可能浪费内存 我想用的时候再去创建这个对象,解决办法:懒汉式单例单例中最重要的思想:构造器私有 一旦私有构造器了,别人就无法new这个对象了,保证了内存中只有一个对象 */public class Hungry { //一上来就加载对象了,浪费空间
2021-12-17 21:01:25
418
原创 OOP七大原则
文章目录将我们以前学的面向对象,系统的定义了一些规则重点:保证系统架构和结构的清晰性软件设计必须遵守的原则:23种设计模式几乎都会依赖这些原则。(最重要)开闭原则:对扩展开放,对修改关闭当我们应用需求如果发生改变时,尽量不去修改原来的代码,在上面进行扩展,不影响原来的代码。最重要的,它是总纲。里式替换原则:继承必须确(父类)保超类所拥有的性质在子类中仍然成立不要破坏继承关系子类可以扩展父类的功能,但是不要改变父类原有的功能。继承一个父类的时候,尽量添加一个新的方法,完成新
2021-12-17 20:59:43
218
原创 3、CRUD
文章目录1、namespace2、select3、insert4、updata5、delete注意6、分析错误读错方式7、万能的Map添加用户查看用户8、模糊查询Java代码执行的时候,传递通配符% %在sql拼接中使用通配符增删改查实现所有的操作只跟接口和配置文件有关,实体类和工具类不需要变只需要修改接口、配置文件、测试类1、namespacenamespace中的包名要和 Dao/mapper接口的包名一致!2、select选择,查询语句id:对应的namespace中的方法名
2021-12-17 20:52:23
488
原创 2、第一个Mybatis程序
文章目录2.1、搭建环境1.搭建数据库2.新建项目2.2、创建一个模块编写mybatis的核心配置文件编写mybatis工具类2.3、编写代码实体类Dao接口接口实现类2.4、测试注意点:junit测试遇到的问题配置文件没有注册绑定接口错误方法名不对,返回类型不对字符错误maven导出资源问题思路准备工作代码实现mybatis三个核心接口SqlSessionFactoryBuilderSqlSessionFactorySqlSession思路:搭建环境导入mybatis编写代码测试2.1、搭
2021-12-17 20:50:04
1667
原创 设计模式概述
文章目录什么是设计模式(了解)学习设计模式的意义(了解)设计模式的基本要素GoF23(了解)什么是设计模式(了解)设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。比如:我们遇到了一些困难,用这种方法一定可以解决。前人种树,后人乘凉它不是语法规定,它是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。主要是解决面向对象(OOP)编程的东西重点针对面向对象的面向过程用不到199
2021-12-17 20:45:18
197
原创 1、mybatis简介
文章目录1.1、什么是Mybatis如何获得Mybatis?1.2、持久化为什么需要持久化?1.3、持久层1.4、为什么需要mybatis?1.1、什么是MybatisMyBatis 是一款优秀的**持久层框架**它支持自定义 SQL、存储过程以及高级映射。(方便写sql)MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。(核心)MyBatis 可以通过简单的XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java
2021-12-16 20:42:05
350
原创 狂神 MyBatis
文章目录MyBatisMyBatis作用:简化了JDBC的操作环境:JDK:1.8Mysql:8.0maven:3.8.1IDE:开发工具回顾:(贯串整个Mybatis的学习)JDBCMysqljava基础封装继承的思想,掌握:看到了一个东西能不能把他封装能一个工具类Maven会架构maven知道父子模块Junit单元测试SSM框架:有配置文件的。最好的学习方式:看官网文档。mybatis官方文档:https://mybatis.
2021-12-16 20:38:19
6570
原创 狂神 - 邮件发送(常用)
文章目录邮件收发传输协议SMTP协议POP3协议邮件发送原理图Java发送邮件概述纯文本邮件导包权限总结代码实现带图片和附件的邮件两个类流程图代码实现JavaWeb发送邮件代码实现:1.先搭建框架2.实体类3.工具类4.Servlet类5.提示页面流程效果邮件收发要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。对应:接收和发送接收:POP3协议发送:SMTP协议SMTP服务
2021-12-15 18:03:05
2598
原创 狂神 - 文件上传(重要)
文章目录文件上传(重要)创建一个空项目空项目的好处:创建web项目的三种方式:架构图1.准备工作2.使用类介绍(了解)【文件上传的注意事项】【需要用到的类详解】Fileltem类ServletFileUpload类3.编写代码代码实现表单FileServlet类配置:web.xml提交后表单结果文件上传(重要)在web应用中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。创建一个空项目空项目的好处:ieda中一个项目独占一个文件夹,通过一个空的项目n
2021-12-15 17:51:15
1207
原创 11、Filter(过滤器 重点)
文章目录11、==Filter==(过滤器 重点)Filter开发步骤:1.导包2.编写过滤器1.导包不要错2.实现Filter接口3.在web.xml中配置 servlet 和 filter4.展示Servlet结论:过滤器 总结11、Filter(过滤器 重点)springMVC、springBoot、安全框架(Shiro,做安全认证的)里边的一些东西都是用过滤器实现的Filter:过滤器,用来过滤网站的数据处理中文乱码登录验证……Filter开发步骤:1.导包在pom.x
2021-12-10 20:46:31
656
原创 10、MVC三层架构
文章目录10、MVC三层架构什么是MVC:10.1、早些年的架构10.2、MVC三层架构有三层10、MVC三层架构什么是MVC:Model(模型):实体类和数据库中对应的字段view(试图):jsp页面Controller(控制器):servlet,负责跳转页面10.1、早些年的架构用户直接访问控制层,控制层就可以直接操作数据库转发或重定向到jsp页面可以携带参数,jsp就能取了servlet --> CRUD(增删改查) -->操作,数据库 有弊端:jdb
2021-11-29 19:56:49
871
原创 MySQL 安装和配置与 Maven
文章目录MySQL 安装和配置MySQL简介安装配置环境变量查看版本信息命令行连接MySQL手动开启/关闭MySQL使用IDEA操作数据库1.IED连接数据库2.IED操作数据库新建数据库新建表增删maven为什么要学习这个技术?maven是什么?下载安装maven配置:环境变量配置:阿里云镜像配置:本地仓库在IED中使用maven1.启动IDEA2.创建一个MavenWeb项目(maven模板方式生成)3.等待项目初始化完毕(自动导入包)4.观察Maven仓库中多的东西5.IDEA中的Maven设置6.M
2021-11-28 18:18:08
5158
1
原创 9、JavaBean
文章目录9、JavaBeanJavaBean特定的写法:作用:实体类包名jsp代码实现9、JavaBeanBean:豆子实体类JavaBean特定的写法:必须要有一个无参构造属性必须私有化必须有对应的get/set方法作用:实体类:一般用来和数据库的字段做映射 ORM;一般用来和数据库中的表结构一 一对应ORM:对象关系映射数据库中的一张表 —> 对应 java的 类表里的字段 —> 对应 类的属性表里的记录 – 对应
2021-11-28 15:51:17
676
原创 8、JSP
文章目录8、JSP8.1、什么是JSP8.2、JSP原理为什么页面会转换为java程序?JSP原理流程图:JSP代码结论:jsp作用8.3、JSP基础语法(重点)JSP表达式普通项目与maven用web创建启动后的区别jsp脚本片段为什么会输出?JSP声明区别:优化总结8.4、JSP指令(了解)跳转到500或404页面8.5、9大内置对象代码实现补充四大作用域场景作用域的概念 重点!8.6、JSP标签、JSTL标签、EL表达式LE表达式:${ }jsp标签JSTL表达式JSTL标签库使用步骤c:if
2021-11-27 20:44:55
380
原创 JDBC(重点)
文章目录10、JDBC(重点)10.1、数据库驱动10.2、JDBC10.3、第一个JDBC程序步骤总结:解释 常用的对象10.4、statement对象代码实现 增删改查1、提取工具类2、编写增删改的方法,增删改3、查询SQL注入的问题10.5、PreparedStatement对象代码实现步骤1、新增2、删除3、更新4、查询5、防止SQL注入10.7、使用IDEA连接数据库查看数据库内容:更新数据编写sql代码注意时区MySQL版本路径10.8、事务转账10.9、数据库连接池编写连接池DBCPC3P
2021-11-26 10:48:38
705
原创 7、Cookie、Session
文章目录7、Cookie、Session7.1、会话(理解)7.2、保存会话的两种技术7.3、Cookie一个网站,怎么证明你来过?总结Cookie方法问题:代码实现7.4、==Session==(重点)一个网站,怎么证明你来过?什么是Session:常用的Session方法Session 和 Cookie 区别:使用场景:代码实现:存session取Session注销session手动注销自动注销:web,xml中配置思路7、Cookie、Session7.1、会话(理解)**会话:**用户打开一个
2021-11-26 10:12:44
516
原创 6、Servlet
文章目录6、Servlet6.1、Servlet简介6.2、HelloServlet1、构建一个普通的Maven项目,2、关于Maven父子工程的理解:3、Maven环境优化4、编写一个Servlet程序5、编写Servlet的映射6、配置Tomact7、启动测试6.3、Servlet运行原理6.4、Mapping问题1、一个Servlet可以指定一个映射路径2、一个Servlet可以指定多个映射路径3、一个Servlet可以指定通用映射路径4、默认请求路径5、指定一些后缀或者前缀等等……6、==优先级问题
2021-11-25 20:45:38
592
原创 5、maven
文章目录5、maven5.1、maven:项目架构管理工具5.2、下载安装maven5.3、配置:环境变量5.4、配置:阿里云镜像5.5、配置:本地仓库5.6、在IDEA中使用Maven1.启动IDEA2.创建一个MavenWeb项目(maven模板方式生成)3.等待项目初始化完毕(自动导入包)4.观察Maven仓库中多了什么东西5.IDEA中的Maven设置6.到这里,Maven在IEDA中的配置和使用就OK了5.7、创建一个普通的Maven项目5.8、ide中标记文件夹功能5.9、在IDEA中配置Tom
2021-11-25 20:24:58
97
原创 4、http
文章目录4、http4.1、什么是http4.2、两个时代4.3、http请求(Request)1、请求行2、消息头4.4、http响应1、响应体2、==响应状况码== (重点)常见面试题:4、http4.1、什么是http超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。文本:HTML,字符串 ,~……超文本:图片,音乐,视频,定位,地图……默认端口:80Https:安全的默认端口号:4434
2021-11-25 19:47:55
368
原创 3、Tomcat
文章目录3、Tomcat3.1、安装Tomcat3.2、Tomact启动和配置3.3、配置**高难度面试题:**3.4、发布一个web网站3、Tomcat下载Tomcat:安装 or 解压了解配置文件及目录结构!java的配置文件及目录结构bin:执行文件(java、javac、Javadoc……)include:底层是用C++写的,包含了C的源文件,.h是c的文件,win32:系统的底层jre:java运行时环境lib:jar包java核心jar包:rt.jar作用
2021-11-25 19:41:39
1182
原创 2、web服务器
文章目录2、web服务器2.1、技术讲解2.2、web服务器2、web服务器实现web手段:ASP 、JSP、PHP2.1、技术讲解ASP:微软:国内最早流行的是ASP在HTML中嵌入了VB的脚本代码,ASP +COM(元素)在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱维护成本高!主要用的C#IIS服务器php:PHP开发速度很快,功能很强大,跨平台,代码很简单(无法承载大访问量的,中国百分之70%网站都是中小型的,开源的模板
2021-11-25 19:30:12
427
原创 1、基本概念
文章目录1.1、前言1.2、web应用程序1.1、前言web开发:web:网页的意思,表示从互联网上拿到一定的资源,www.caidu.com静态webhtml,css提供给所有人开的数据,始终不会发生变化!动态web淘宝,几乎所有的网站;提供给所有人开的数据,始终会发生变化!每个人在不同的时间,不同的地点,看到的信息各不相同技术栈:Servlet/JSP(Java),ASP(微软) ,PHP在java中,动态web资源开发的技术统称为JavaWeb;1.2、web应
2021-11-25 19:24:02
76
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人