Java
文章平均质量分 91
java的学习笔记整理
輝长六加1
只会写HelloWord
展开
-
自定义Typora上传图片-Java实现
📢文章已收录于。原创 2023-04-01 15:25:46 · 477 阅读 · 1 评论 -
MyBatis学习 | 缓存机制
💬概述:一级缓存也称为本地缓存、SqlSession级别的缓存🔑特点一级缓存是一直开启的,不能手动关闭一级缓存的作用域是MyBatis与数据库之间的一次会话,在本次会话间第一次查询出来的数据都会放到一级缓存中(本地缓存)一个SqlSession会话对象对应一个一级缓存,因为SqlSession对象就代表MyBatis与数据库的一次会话一级缓存相当于SqlSession级别的一个Map集合,在本次会话中查询相同数据时,就不会再访问数据库,而是直接从该Map。原创 2022-12-27 10:30:00 · 835 阅读 · 0 评论 -
MyBatis学习 | 动态SQL
💬概述:动态SQL——Dynamic SQL,是MyBatis中强大功能之一,可以根据不同条件来拼接SQL语句🔑实现动态SQL的几个重要标签ifforeach🔑关于动态SQL中使用到的表达式语言——OGNL全称:Object Graph Navigation Language,对象图导航语言概述:一种强大的表达式语言,使用它可以方便地操作对象属性,类似于EL表达式使用作用表达式访问对象属性调用方法调用静态属性调用静态方法调用构造方法算术运算符+,-,*,/,%等逻辑运算符。原创 2022-12-24 10:02:29 · 1246 阅读 · 0 评论 -
MyBatis学习 | SQL映射文件
💬概述:SQL映射文件是MyBatis的核心文件,它指导MyBatis对数据库进行CRUD操作,有着重要意义🔑SQL映射文件中的重要标签标签名解释cache命名空间的二级缓存配置cache-ref其他命名空间缓存配置的引用resultMap自定义结果集映射sql抽取可重用的语句块insert映射插入(INSERT)语句update映射更新(UPDATE)语句delete映射删除(DELETE)语句select映射查询(SELECT)语句。原创 2022-12-23 10:02:50 · 1072 阅读 · 0 评论 -
MyBatis学习 | 全局配置文件
💬概述:MyBatis全局配置文件中包含了对MyBatis的行为有显著影响的设置(settings)和属性(properties)信息🔑配置文件中的结构图💬概述:在MyBatis全局配置文件中可以添加标签,用于引入或设置属性值。一般用于引入数据库连接或数据库连接池的相关属性🔑为属性赋值的两种方式① 在标签中使用属性获取属性引入外部属性文件(.properties)② 在标签内添加标签,标签中使用和属性设置属性🔑获取属性值的方法:(类似与EL表达式,一般在数据源标签中获取)🔑获取属性值的顺原创 2022-12-22 09:36:32 · 528 阅读 · 0 评论 -
MyBatis学习 | 简介&HelloWord
💬概述:MyBatis是一个半自动、轻量级的持久化层(ORM)框架,原是Apache的一个开源项目iBatis,后面该项目迁移到Google,iBatis(3.0之后的版本)也改名为MyBatis❓ 关于MyBatis的介绍解释半自动:MyBatis框架需要开发人员在xml文件或注解中手动创建SQL语句(或通过插件生成),才能将SQL执行结果与对应的JavaBean建立映射关系,然后通过JavaBean获取结果集(而全自动只需根据对应的JavaBean就能获取到SQL的执行结果集)原创 2022-12-19 10:16:16 · 375 阅读 · 0 评论 -
Spring MVC学习 | 注解配置Spring MVC&总结
常用组件组件的实现和使用作用前端控制器(中心控制器) DispatcherServlet由框架提供类型,开发人员只需在配置文件或配置类进行配置对请求和相应进行统一处理,是整个控制层的中心,调用其他组件对请求进行处理处理器映射器 HandlerMapping直接由框架提供,无需创建和配置根据请求路径、请求方式等信息查找对应的处理器Handler,即控制器方法,然后获取控制器方法中所有相关对象(包括控制器对象及其对应的拦截器对象等),最后返回一个对象(处理执行链)处理器 Handler。原创 2022-12-18 09:32:35 · 1187 阅读 · 0 评论 -
Spring MVC学习 | 拦截器&异常处理器
💬概述:Spring MVC中提供了拦截器,类似于过滤器,可以在执行当前请求对应控制器方法之前对请求进行拦截,同时可以对当前请求进行加工,可以同时设置多个拦截器🔑三个重要方法方法名执行时间点说明控制器方法执行前前置处理方法 -->方法返回值表示拦截和放行(true表示放行,即正常执行控制器方法;返回false表示拦截,即不执行控制器方法)控制器方法执行后后置处理方法 --> 在控制器方法执行之后执行,如果请求被拦截,即控制器方法不执行,则该方法也不执行处理完视图和模型数据并对视图进行渲染之后。原创 2022-12-17 10:09:15 · 739 阅读 · 0 评论 -
Spring MVC学习 | 报文信息转换
💬概述:是Spring MVC中的一个类,意思是报文信息转换器🔑作用:可以将报文信息和Java对象进行转换,即请求报文信息转换成Java对象,Java对象转换成响应报文信息🔑HttpMessageConverter提供了两个注解和两个类型,用于实现报文信息与Java对象的转化🔑使用方式:在控制器方法中添加类型的形参,通过请求对象调用相关方法获取请求报文信息2.2 使用@RequestBody注解获取请求体信息🔑使用方式:在控制器方法中添加String类型的形参,然后在形参前添加注解,此时请原创 2022-12-16 09:52:20 · 907 阅读 · 0 评论 -
Spring MVC学习 | 视图&RESTFul
💬概述RESTFul中的REST -->ReStateTransfer,意思是表现层资源状态转移RESTFul是一种资源操作、资源定位的风格,是基于REST搭建的API,不是一个标准、也不是一种协议,仅仅是一种风格🔑Http动词设计1. GET --> get请求,对应查询操作(Read)2. POST --> post请求,对应添加操作(Create)3. PUT --> put请求,对应修改操作(Update)原创 2022-12-15 10:08:53 · 423 阅读 · 0 评论 -
Spring MVC学习 | 使用域对象共享数据
直接使用原生的servlet API向request域中共享数据,即使用。原创 2022-12-14 09:56:04 · 367 阅读 · 0 评论 -
Spring MVC学习 | 获取请求参数
🔑添加的位置:在控制器方法的形参前添加🔑作用:将请求参数与控制器方法的形参建立映射关系,注解的value值对应请求参数名,可以与形参名不一样💡 在添加了注解后,Spring MVC就会根据注解的value值匹配对应的请求参数,从而匹配到注解所标识的形参,然后将请求参数值赋值给对应形参,所以在形参名与请求参数名不一致的情况同样能获取到对应的请求参数值💡测试① 创建测试表单,带上请求参数(注意请求参数名设置为user_name、password)原创 2022-12-13 10:06:00 · 630 阅读 · 0 评论 -
Spring MVC学习 | @RequestMapping注解
💬概述:见名知意,RequestMapping就是请求映射的意思🔑作用:将浏览器的请求与处理请求的控制器方法关联起来,建立映射关系,保证一个请求对应一个控制器方法💡 如果只在方法上使用,则必须保证的value属性值唯一性,即在同一个控制器或者不同控制器中,不能出现value值相同的控制器方法,不然会报错,因为Spring MVC不能确定哪一个才是真正对应的处理请求方法,🔑使用(详情见Spring MVC学习 | 简介&HelloWord)}原创 2022-12-12 09:49:01 · 1247 阅读 · 0 评论 -
Spring MVC学习 | 简介&HelloWord
💡 详细解释可参见MVC开发模式&三层架构简记💬概述:MVC 是一种软件架构的思想,将软件分为模型、视图和控制器🔑各个组成部分① M --> model 模型:表示工程中的JavaBean,作用是封装和处理数据❓ 这里的JavaBean分为两类实体类Bean:用于封装和存储业务数据业务处理Bean:表示service层对象和dao层对象,用于处理业务逻辑和数据访问② V --> view 视图:表示工程中的html 和jsp等页面。作用是与用户交互和展示数据。原创 2022-12-11 11:18:38 · 515 阅读 · 0 评论 -
Spring学习 | 事务
💬概述:事务时数据库操作最基本的单元,逻辑上表示一组操作要么都成功,如果出现失败就都失败银行转账🔑事务的特点(ACID)原子性(Atomicity):事务是最基本的数据库操作,不可再分(要么都成功,要么都失败)一致性(Consistency):事务的整体保持不变,比如客户1和客户2两人的总余额为2千,那么他们两人无论怎么相互转账,两人的总额还是2千隔离性(Isolation):各个事务之间不会相互影响持久性(Durability):事务一旦提交,事务中的各个操作都会永久保存下来。原创 2022-12-10 09:53:34 · 574 阅读 · 0 评论 -
Spring学习 | JDBCTemplate
💬概述:JDBCTemplate是Spring 对JDBC进行封装的一个模板🔑作用:简化JDBC的使用,更加方便地对数据库进行操作🔑使用步骤① 导入相关jar 包:druid…jar、mysql-connector-java-…jar、spring-jdbc-…jar、spring-tx-…jar、(spring-orm-…jar)② 在spring 配置文件中配置druid数据库连接池,这里使用引入外部属性文件的方式(需要先引入context名称空间),也可以直接把值写上原创 2022-12-09 10:05:33 · 292 阅读 · 0 评论 -
Spring学习 | AOP
💬概述:Aspect Oriented Programming 面向切面(方面)编程,意思是不通过修改源代码的方式,在主干功能上添加新的功能🔑作用与目的:利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率🔑AOP底层原理:AOP底层通过动态代理实现,根据有无接口将动态代理分为两种——JDK和CGLIB🔑基于AspectJ:Spring AOP一般都是基于AspectJ 实现的🔑切入点表达式:在进行AOP的配置时,需要使用切入原创 2022-12-08 10:10:35 · 295 阅读 · 0 评论 -
Spring学习 | Bean作用域&生命周期
🔑 修改spring 中的bean 作用域(设置单例还是多例):在标签中添加属性——scope,scope 的值由多种选择① singleton② prototype③ request:将对象的作用域设置为request 域④ session:将对象的作用域设置为session 域1.2 注解配置在需要修改的作用域的类上添加和注解,注解中直接添加值即可,值的选择和默认值同上二、生命周期bean 的声明周期可初步分为四个阶段① Bean 的实例化阶段:执行Bean 的无参构造器② Bean 的属原创 2022-12-07 19:52:23 · 567 阅读 · 0 评论 -
Spring学习 | Bean管理-基于注解
🔑导入jar 包:spring-aop-…-RELEASE.jar🔑开启组件扫描:有两种方式① 在xml 文件中配置指定包扫描:在xml 文件中添加context 名称空间,然后使用标签指定注解进行扫描排除某种注解进行扫描② 创建配置类使用:创建一个类,在类的上面添加和注解,并在注解中添加属性(对应xml 配置中的属性),属性值的写法与属性一样作用:脱离xml文件配置,实现完全注解开发获取工厂对象:实现完全注解开发说明不能通过加载xml 配置文件获取工厂对象,而是需要加载配置原创 2022-12-07 16:32:04 · 264 阅读 · 0 评论 -
Spring学习 | Bean管理-基于xml
💬概述:Bean管理就是对象管理,指的就是两个操作🔑Bean管理操作的两种方式在spring配置文件(spring.xml)使用标签并添加对应属性2.2 注入属性2.2.1 普通类型属性🔑使用set() 方法进行注入定义一个类,添加setProperty() 方法在xml 文件中的标签中添加标签,并添加相应属性🔑p名称空间注入:set() 方法注入的简化操作(了解即可)在配置文件中的标签中创建p名称空间:直接在标签的属性栏上添加属性 进行属性的注入🔑使用有参构原创 2022-12-07 11:03:45 · 775 阅读 · 0 评论 -
Spring学习 | Spring简介&IOC简介
💬概述:Spring 是轻量级的开源的JavaEE框架,IOC和AOP是Spring 的两个核心部分🎯目的:简化企业应用开发🔑特点:💬概述:Inversion Of Control 控制反转,意思就是将对象的创建权反转(交给)了Spring,或者说对象创建的控制权不是"使用者",而是"框架"或者"容器"🎯作用与目的:🔑底层实现技术:xml 解析、工厂模式、反射🔑IOC 实现过程:IOC思想基于IOC容器完成,IOC容器底层就是对象工厂创建对象(以xml 配置为例):在xml 配置文件中配置将要原创 2022-12-06 15:18:25 · 218 阅读 · 0 评论 -
Java学习☕ | Java300集课程笔记整理3.0(JDBC)
文章目录一、获取数据库连接的方式二、实现对数据库的增删改三、对数据表的查询操作四、批量插入五、创建BaseDAO六、使用Druid数据库连接池七、使用DBUtils实现CRUD操作学习视频(Java300集):https://www.bilibili.com/video/BV1ct411n7oG一、获取数据库连接的方式基本步骤:获取Driver实现类对象提供要连接的数据库提供连接需要的用户名和密码获取连接测试代码中使用@Test的方式,不用写main函数就可以运行单个类(c原创 2021-10-01 19:06:44 · 115 阅读 · 0 评论 -
Java学习☕ | Java300集课程笔记整理2.0(IO流)
文章目录一、File类和File对象二、测试编码和解码(Encode&Decode)2.1 编码(Encode)2.2 解码(Decode)三、文件字节输入流3.1 单个字节读取3.2 分段读取四、文件字节输出流五、文件字符输入输出流5.1 实现输入流5.2 实现输出流六、文件拷贝(利用文件字节输入输出流)七、字节数组输入输出流7.1 实现输入流7.2 实现输出流八、对接流学习视频(Java300集):https://www.bilibili.com/video/BV1ct411n7oG一原创 2021-10-01 19:06:28 · 86 阅读 · 0 评论 -
Java学习☕ | Java300集课程笔记整理1.0(泛型&集合)
文章目录一、泛型二、集合2.1 测试Collection、List接口和ArrayList常用方法2.2 测试Map的常用方法学习视频(Java300集):https://www.bilibili.com/video/BV1ct411n7oG一、泛型package cn.sxt.collection;/** * 测试泛型 */public class TestGeneric{ public static void main(String[] args){ //原创 2021-10-01 19:06:09 · 103 阅读 · 0 评论