- 博客(22)
- 收藏
- 关注
原创 MyBatis-Plus高效开发全攻略
本文介绍了MyBatis-Plus框架的基本使用和高级特性。主要内容包括:1. MyBatis-Plus的简介及核心优势;2. 快速入门指南,包含数据库准备、项目配置和使用BaseMapper进行CRUD操作;3. 详细讲解了常用注解(@TableId、@TableName、@TableField)的使用方法;4. 条件构造器的四种实现方式(QueryWrapper、UpdateWrapper及其Lambda版本);5. 自定义SQL的实现方案。文章通过示例代码演示了如何解决实体类与数据库表结构不一致的问题
2025-11-17 11:23:13
1007
原创 Mybatis入门与基础操作详解
本文介绍了MyBatis持久层框架的基本使用,包括注解和XML两种开发方式。主要内容涵盖:MyBatis核心概念、环境搭建、基础CRUD操作、结果映射、参数传递、动态SQL、多表查询等。重点讲解了#{}和${}的区别、日志配置、数据库连接池、XML映射文件编写等实用技巧,并通过完整示例展示了增删改查的具体实现。文章还详细说明了MyBatis的查询优化策略,如结果映射、驼峰命名转换、动态条件处理等,帮助开发者快速掌握这一高效数据库访问框架。
2025-11-05 16:10:12
862
原创 JavaEE--SpringIoC
控制反转(Inversion of Control,IoC)是一种设计原则,用于解耦组件之间的依赖关系。传统编程中,调用者主动创建和管理依赖对象;而IoC将控制权交给外部容器或框架,由容器负责创建和注入依赖对象。接下来我们通过案例来了解一下什么是IoC。需求:造一辆车对于同一个类,如何定义多个对象呢?(比如多数据源的场景,类是同一个,但是配置不同,志向不同的数据源)@Component@Bean@Bean根据类型获取到的是哪个对象呢?报错信息显示:期望只有一个匹配,结果发现了两个。
2025-10-17 12:48:39
1052
原创 JavaEE--Spring MVC
本文介绍了SpringMVC框架的核心功能,重点讲解了请求与响应处理机制。主要内容包括:1. 通过@RequestMapping等注解建立浏览器与Java程序的连接;2. 请求参数处理,涵盖单个/多个参数、对象、数组、JSON等多种数据格式的接收方式;3. 文件上传、Cookie/Session管理、Header获取等特殊请求处理;4. 响应处理,包括返回静态页面、数据、HTML片段、JSON等格式;5. 状态码和Header的设置方法。文章通过具体代码示例,详细演示了SpringMVC在Web开发中的实际
2025-10-12 15:46:34
890
原创 JavaEE--SpringBoot
本文介绍了Maven和SpringBoot的核心概念及使用。Maven作为Java项目管理工具,重点讲解了项目构建、依赖管理(包括依赖配置、传递和排除)以及Maven仓库系统。SpringBoot部分则详细说明了两种创建方式(IDEA和网页版),项目结构解析,并通过"HelloWorld"示例演示了简单Web应用的开发流程。文章还简要介绍了SpringBoot内置的Tomcat服务器特性,展示了如何快速构建和运行一个基础的SpringBoot应用。全文涵盖了从环境搭建到项目部署的关键知识
2025-09-25 12:19:51
1396
1
原创 JavaEE--JVM
JVM(Java Virtual Machine,Java虚拟机)是运行Java字节码的虚拟计算机,是Java平台的核心组件。它通过将字节码转换为特定操作系统和硬件平台的机器指令,实现Java的跨平台特性(“一次编写,到处运行”)。
2025-09-19 09:26:08
1105
原创 JavaEE--网络编程套接字
网络编程是指网络上的主机,通过不同的进程以编程的方式实现网络通信(或称为网络数据传输)。当然,我们只要满足进程不同就行;所以即便是同一个主机,只要是不同进程。基于网络来传输数据,也属于网络编程。特别的,对于开发来说,在条件有限的情况下,一般也都是在一个主机中运行多个进程来完成网络编程。但是,我们一定要明确,我们的目的是提供网络上不同主机,基于网络来传输数据资源:进程A:编程来获取网络资源进程B:编程来提供网络资源DatagramSocket是UDP Socket,用于发送和接收UDP数据报。
2025-05-16 23:15:08
778
3
原创 JavaEE--初识网络
封装(Encapsulation):在发送端,数据经过不同层次的处理和封装,每一层都会在数据上添加相应的首部或尾部信息,形成一个带有多个层次信息的数据包。它是由数字和点号组成的标识符,用于区分网络上的不同设备。通过将网络通信过程细分为不同层次,OSI模型提供了一个清晰的框架,便于不同厂商和组织开发遵循一致标准的网络设备和应用,从而促进网络互联的发展和互操作性。有了IP地址和端口号,可以定位到网络中唯一的一个进程,但还存在一个问题,网络通信是基于二进制0/1数据来传输,如何告诉对方发送的数据是什么样的呢?
2025-05-13 20:24:57
911
3
原创 JavaEE--文件操作和IO
InputStream(输入流)是Java中用于从输入源读取数据的抽象类。InputStream类是所有输入流类的超类,它定义了一系列读取字节的方法,可以从不同的数据源(文件、网络、内存等)读取数据。InputStream类的常见子类包括:FileInputStream:从文件中读取数据的输入流。BufferedInputStream:带缓冲功能的输入流,可以提高数据读取的效率。DataInputStream:用于读取基本数据类型(如int、float、double等)的输入流。
2025-05-11 21:04:22
1264
1
原创 JavaEE--多线程
线程(Thread)是计算机科学中的基本概念,指的是程序内部的一条执行路径。一个进程可以包含多个线程,每个线程共享进程的资源,包括内存空间、文件描述符等。线程可以同时执行多个任务,提高程序的效率和性能。在多线程编程中,程序可以同时执行多个线程,每个线程独立执行自己的任务,但又共享进程的资源。线程之间可以通过共享内存进行通信,也可以互相协调合作完成任务。线程是操作系统能够进行调度和管理的最小单位,也是实现并发编程的重要手段。
2025-03-31 21:15:08
1192
5
原创 JavaEE--计算机是如何工作的
一、一台计算机的组成部分1.CPU(中央处理器)2.主板(一个大插座)3.内存(存储数据的主要模板)4.硬盘(存储数据的主要模板)硬盘>内存>>CPUCPU>>内存>硬盘5.电源6.散热器7.机箱8.显卡9.键盘鼠标10.显示器二、冯·诺伊曼体系(Von Neumann Architecture)冯·诺伊曼体系是计算机体系结构的一种基本设计原则,也称为存储程序计算机。它由匈牙利裔物理学家冯·诺伊曼在20世纪40年代提出,被认为是现代计算机的基础。
2025-03-03 20:20:59
1204
5
原创 数据结构(Java)--排序
======================创作不易,记得给个三连支持一下哦=======================
2024-11-13 22:54:01
1249
2
原创 数据结构(Java)--二叉树
由后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间。树的叶子节点表示不同的字符,而树的路径表示字符的编码。二叉树是一种特殊的树数据结构,其中每个节点最多有两个子节点:一个称为左子节点,另一个称为右子节点。二叉树的后序遍历是指按照左子树 -> 右子树 -> 根节点的顺序依次遍历二叉树的每个节点。B的左子树:JGDHK B的右子树:空 C的左子树:ELIM C的右子树:F。
2024-10-26 15:57:23
1282
2
原创 数据结构(Java)--栈和队列
模拟出队:判断第二个栈是不是空的,若是,把第一个栈中所有元素都放到第二个栈 里,取出第二个栈的栈顶元素,否则,直接取出第二个栈的栈顶元素。在循环队列中,当队列的尾部达到数组的末尾时,如果队列的头部还有空闲位置,就可以将尾部元素循环移动到数组的起始位置,从而实现循环的效果。双端队列的实现可以使用数组或链表。思路:遍历pushV数组,每次入栈一个元素之后,用栈顶元素和popV的下标比较,若一样则出栈,若不一样,继续遍历,直到遍历完整个pushV数组。
2024-09-21 11:43:30
1274
2
原创 数据结构(Java)--链表
链表是一种常见的数据结构,用于存储数据元素的集合。链表由一系列的节点组成,每个节点包含数据和指向下一个节点的指针。链表中的节点可以按照任意顺序存储,每个节点都通过指针与其他节点相连接,形成链式结构。
2024-09-08 17:00:12
1454
3
原创 数据结构(Java)--List&Arraylist(顺序表)
List接口是Java集合框架中的一种接口,它代表了一个有序的、可重复的元素序列。List接口继承自Collection接口,定义了一些用于操作列表的方法。常见的List实现类有ArrayList和LinkedList。ArrayList是基于动态数组实现的,它支持快速随机访问和随机插入/删除操作,但插入/删除操作涉及数组元素的移动,性能相对较低。LinkedList则是基于双向链表实现的,它支持快速插入/删除操作,但访问元素需要从头部或尾部开始遍历链表,性能相对较低。
2024-07-20 16:50:31
1304
3
原创 JavaSE--接口(二)
结论:只要是自定义的类型涉及到了大小的比较,一定得实现Comparable接口!在java没有指针的情况下,如何使用自定义方法实现两个数值的交换呢?但存在缺陷:这个方式一般用于固定的比较,不适合非常灵活的比较。这样的普通方法和字段可以被子类直接使用。解决方案:使用Comparator。抽象类中可以包含普通方法和普通字段。解决问题:1.换一个接口解决。而接口中不能包含普通方法,子类必须重写所有的抽象方法。1.引用类型不能直接比较。
2024-05-23 21:57:17
376
9
原创 JavaSE--抽象类和接口
Object类中的hashCode()方法的默认实现是根据对象的内存地址计算得出的,因此不同对象的哈希码一般是不相同的。由于所有的类都继承自Object类,因此可以在任何类的实例上调用Object类的方法。内部类是指在一个类的内部定义的另一个类。接口的继承可以使得一个接口继承另一个接口的方法和常量,通过继承,子接口可以拥有父接口中定义的所有方法和常量,同时可以定义自己的方法和常量。内部类的使用可以提高代码的灵活性和封装性,特别是在某个类只在一个类中使用时,可以将其定义为内部类,减少类的数量和代码的复杂性。
2024-05-18 21:09:15
1049
9
原创 JavaSE--继承和多态
需要注意的是,向下转型可能会出现运行时异常,因为在向上转型后,父类引用变量只能访问父类的方法和属性,无法访问子类特有的方法和属性。因此,如果在父类的构造方法中调用了一个被子类重写的方法,那么实际调用的将是子类重写的方法。重写的方法在子类中可以有不同的实现,即可以改变方法的行为,但不能改变方法的签名(方法名、参数列表和返回类型)。可以通过多态来实现不同动物的叫声。重写(Override)是面向对象编程中的一个概念,指的是在子类中重新定义父类中已经存在的方法,以便使得子类对象可以根据自己的特性来执行该方法。
2024-05-17 10:41:52
1506
8
原创 JavaSE--数组
在Java中,数组是一种用来存储相同类型数据的容器。它是一个固定长度的数据结构,可以在内存中连续存储多个元素。2. 静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定。1. 动态初始化:在创建数组时,直接指定数组中元素的个数。静态和动态初始化也可以分为两步,但是省略格式不可以。静态初始化虽然没有指定数组的长度,编译器在编译时会根据。如果没有对数组进行初始化,数组中元素有其默认值。制作不易,麻烦给个三连支持一下吧!静态初始化可以简写,省去后面的。中元素个数来确定数组的长度。
2024-05-15 12:14:46
387
3
原创 JavaSE--类和对象·下
基本规则在文件的最上方加上一个package语句指定该代码在哪个包中。包名需要尽量指定成唯一的名字通常会用公司的域名的颠倒形式例如包名要和代码路径相匹配例如创建的包那么会存在一个对应的路来存储代码。如果一个类没有package语句则该类被放到一个默认包中。
2024-05-14 21:40:25
1236
11
原创 JavaSE--类和对象·上
面向对象(Object-Oriented)是一种编程思想和方法,它将程序中的数据和操作数据的方法封装成对象,通过对象之间的交互来实现程序的功能。面向对象编程的核心思想是将现实世界中的事物抽象为对象,每个对象都具有特定的属性(数据)和行为(方法)。对象之间通过消息传递来进行通信和交互。通过封装、继承和多态等特性,面向对象编程可以提高代码的可读性、可维护性和可复用性。面向对象编程在很多编程语言中得到广泛应用,如Java、Python、C++等。
2024-05-10 17:49:19
1360
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅