摘要: Maven Maven的下载配置 根据pycharm编辑器的版本选择对应的maven版本 编辑环境变量,将bin目录加入环境变量中 修改配置文件 配置本地仓库 找到 localRepository 节点,在注释外添加 <localRepository>D:\apache-maven-3.9.8-bi 阅读全文
posted @ 2025-03-17 22:15 QAQ001 阅读(29) 评论(0) 推荐(0)
摘要: xml配置开发流程 在mybatis的全局配置文件中配置mapper.xml文件映射器 <!-- 加载 Mapper 文件 --> <mappers> <mapper resource="com/example/mapper/UserMapper.xml"/> </mappers> 加载配置文件:通 阅读全文
posted @ 2025-03-17 22:12 QAQ001 阅读(29) 评论(0) 推荐(0)
摘要: Mybatis注解 开发流程 导入相关依赖 配置mybatis全局配置文件,创建实体类 创建mapper接口并使用注解在接口中定义sql操作 import org.apache.ibatis.annotations.*; import java.util.List; public interface 阅读全文
posted @ 2025-03-17 22:08 QAQ001 阅读(50) 评论(0) 推荐(0)
摘要: Mybatis-xml配置文件 Mapper配置文件 Mapper 配置文件用于定义 SQL 语句和映射规则。每个 Mapper 文件通常对应一个数据库表的操作 每个数据库表对应一个类 每个mapper接口也对应该数据库中的这个表 (mapper接口 mapper配置文件 pojo类)共同对应所连接 阅读全文
posted @ 2025-03-17 22:00 QAQ001 阅读(235) 评论(0) 推荐(0)
摘要: Mybatis基本介绍 MyBatis 概述 MyBatis 是一个基于 Java 的持久层框架,它封装了 JDBC 操作,简化了数据库交互。MyBatis 通过 XML 或注解配置 SQL 映射,将 Java 对象与数据库记录关联,支持定制化 SQL、存储过程和高级映射。 MyBatis 的核心组 阅读全文
posted @ 2025-03-17 21:53 QAQ001 阅读(46) 评论(0) 推荐(0)
摘要: 数据库连接池基本概念 数据库连接池(Database Connection Pool)是一种用于管理数据库连接的技术,旨在提高数据库操作的性能和资源利用率。它通过预先创建并维护一定数量的数据库连接,避免频繁创建和关闭连接的开销,从而提升系统的响应速度和稳定性 为什么需要连接池 传统数据库连接的问题: 阅读全文
posted @ 2025-03-17 21:48 QAQ001 阅读(176) 评论(0) 推荐(0)
摘要: Mysql-JDBC 概念 作用 JDBC 提供了一种标准的方式,使 Java 应用程序能够与不同的数据库进行交互。 它屏蔽了底层数据库的差异,开发者只需使用统一的 API 即可操作各种数据库 组成 JDBC API:提供了一组接口和类,用于连接数据库、执行 SQL 语句和处理结果。 JDBC 驱动 阅读全文
posted @ 2025-03-17 21:47 QAQ001 阅读(98) 评论(0) 推荐(0)
摘要: Mysql函数 MySQL 提供了丰富的内置函数,用于处理数据、执行计算、操作字符串、日期和时间等 数学函数 数学函数用于执行数值计算。 函数名 描述 示例 ABS(x) 返回 x 的绝对值 ABS(-10) → 10 CEIL(x) 返回大于或等于 x 的最小整数 CEIL(3.14) → 4 F 阅读全文
posted @ 2025-03-17 21:41 QAQ001 阅读(17) 评论(0) 推荐(0)
摘要: Mysql事务 MySQL 事务是数据库管理系统中用于确保数据一致性和完整性的重要机制。事务将一系列操作作为一个整体执行,要么全部成功,要么全部失败。 事务的特性(ACID) 事务具有以下四个特性,通常称为 ACID 特性: 原子性(Atomicity):事务中的所有操作要么全部成功,要么全部失败。 阅读全文
posted @ 2025-03-17 21:39 QAQ001 阅读(29) 评论(0) 推荐(0)
摘要: 存储引擎 MySQL 存储引擎是 MySQL 数据库的核心组件之一,负责数据的存储、管理和检索。不同的存储引擎提供了不同的功能和性能特性。 存储引擎作用 数据存储 决定数据如何存储在磁盘或内存中。 管理数据的物理存储结构(如表空间、文件等) 数据检索 提供数据的读写接口。 支持索引机制,优化查询性能 阅读全文
posted @ 2025-03-17 21:37 QAQ001 阅读(70) 评论(0) 推荐(0)
摘要: 索引 索引(Index)是 MySQL 中用于加速数据检索的一种数据结构。它类似于书籍的目录,可以帮助数据库快速定位到所需的数据,而不需要扫描整个表。合理使用索引可以显著提高查询性能,但不当使用索引可能会导致性能下降。 索引的作用 加速数据检索:索引可以帮助数据库快速定位到符合条件的行,避免全表扫描 阅读全文
posted @ 2025-03-17 21:35 QAQ001 阅读(23) 评论(0) 推荐(0)
摘要: 多表查询 多表查询的核心是通过某种条件将多个表的数据关联起来。常见的关联方式包括 连接(JOIN):通过列值匹配将多个表的行组合在一起。 子查询(Subquery):将一个查询的结果作为另一个查询的条件或数据源 连接 连接是 MySQL 中最常用的多表查询方式。它通过列值匹配将多个表的行组合在一起。 阅读全文
posted @ 2025-03-17 21:32 QAQ001 阅读(69) 评论(0) 推荐(0)
摘要: Mysql单表查询 基本语法 SELECT column1, column2, aggregate_function(column3) FROM table_name [WHERE condition] [GROUP BY column1, column2] [HAVING condition] [ 阅读全文
posted @ 2025-03-17 21:31 QAQ001 阅读(65) 评论(0) 推荐(0)
摘要: 约束条件 非空约束 非空约束的特点 非空约束强制要求某列的值不能为 NULL,确保该列始终包含有效数据 在某些业务场景中,某些列的值是必须的(例如用户名、订单号等),非空约束可以避免因缺失数据而导致的逻辑错误 如果某列不允许 NULL 值,查询时可以省略对 NULL 值的检查,简化查询逻辑 定义非空 阅读全文
posted @ 2025-03-17 21:29 QAQ001 阅读(77) 评论(0) 推荐(0)
摘要: NULL值比较 在 MySQL 中,NULL 是一个特殊的值,表示“未知”或“不存在”。与 NULL 进行比较时,结果通常是 NULL,而不是 TRUE 或 FALSE。这是因为 NULL 代表未知值,无法确定它与任何其他值的关系 比较运算符与 NULL 当使用比较运算符(如 =、!=、>、< 等) 阅读全文
posted @ 2025-03-17 21:27 QAQ001 阅读(127) 评论(0) 推荐(0)
摘要: Insert、Delete和Update 增加(insert语句) INSERT 语句是 MySQL 中用于向表中插入新数据的语句。它允许将一行或多行数据插入到表中 插入单行数据 INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3); INSERT INTO 阅读全文
posted @ 2025-03-17 21:25 QAQ001 阅读(128) 评论(0) 推荐(0)
摘要: Mysql用户管理 MySQL 用户管理 是数据库安全管理的重要组成部分,涉及用户的创建、权限分配、修改和删除等操作。通过合理的用户管理,可以确保数据库的安全性,防止未授权访问和数据泄露。 基本概念 用户 用户是访问 MySQL 数据库的账户,每个用户都有一个唯一的用户名和主机名组合。 用户名和主机 阅读全文
posted @ 2025-03-17 21:24 QAQ001 阅读(177) 评论(0) 推荐(0)
摘要: 数据类型 整数类型 数据类型 存储空间 有符号范围 无符号整数 无符号范围 TINYINT 1 字节 -128 到 127 TINYINT UNSIGNED 0 到 255 SMALLINT 2 字节 -32,768 到 32,767 SMALLINT UNSIGNED ` 0 到 65,535 M 阅读全文
posted @ 2025-03-17 21:22 QAQ001 阅读(35) 评论(0) 推荐(0)
摘要: Database常见命令 创建数据库 CREATE DATABASE database_name; #完整语法 #指定字符集和排序规则 CREATE DATABASE [IF NOT EXISTS] database_name [CHARACTER SET charset_name] [COLLAT 阅读全文
posted @ 2025-03-17 21:19 QAQ001 阅读(37) 评论(0) 推荐(0)
摘要: Mysql数据库 初始化 MySQL 数据目录 在首次安装 MySQL 后,需要初始化数据目录。这一步会创建系统表(如 mysql 数据库)和默认用户 mysqld --initialize --user=mysql --initialize:初始化数据目录 --user=mysql:指定运行 My 阅读全文
posted @ 2025-03-17 21:16 QAQ001 阅读(12) 评论(0) 推荐(0)
摘要: 线程同步与通信 线程同步 线程同步是指多个线程在访问共享资源时,通过某种机制确保同一时间只有一个线程可以访问该资源,从而避免数据不一致或竞态条件(Race Condition)的发生 synchronized 关键字 synchronized 是Java中最常用的同步机制。它可以用于方法或代码块,确 阅读全文
posted @ 2025-03-17 21:09 QAQ001 阅读(22) 评论(0) 推荐(0)
摘要: 多线程 多线程 是指在一个进程中同时运行多个线程,每个线程执行不同的任务 在多线程中,主线程也是一个单独的线程,主线程结束其他线程仍然会继续执行 实现方式 继承 Thread 类,通过继承 Thread 类并重写 run() 方法来实现多线程 简单易用,适合简单的多线程任务 由于 Java 是单继承 阅读全文
posted @ 2025-03-17 21:07 QAQ001 阅读(17) 评论(0) 推荐(0)
摘要: 进程 定义 进程 是操作系统分配资源的基本单位,是程序的一次执行过程 每个进程都有独立的内存空间、文件描述符、环境变量等资源 进程之间相互隔离,一个进程崩溃不会影响其他进程 特点 独立性:每个进程有独立的内存空间和资源 隔离性:进程之间通过进程间通信(IPC)机制进行交互 资源开销大:创建和销毁进程 阅读全文
posted @ 2025-03-17 21:06 QAQ001 阅读(18) 评论(0) 推荐(0)
摘要: 反射 类的反射机制(Reflection)是 Java 提供的一种强大的功能,允许程序在运行时动态地获取类的信息并操作类的属性、方法和构造器。通过反射,程序可以在运行时分析类、接口、字段和方法,甚至可以调用方法、构造对象、修改字段值等 反射机制的核心类是 java.lang.Class,它是反射的入 阅读全文
posted @ 2025-03-17 21:04 QAQ001 阅读(71) 评论(0) 推荐(0)
摘要: OutputStream字节输出流 OutputStream (抽象类) ├── FileOutputStream ├── ByteArrayOutputStream ├── PipedOutputStream ├── FilterOutputStream │ ├── BufferedOutputS 阅读全文
posted @ 2025-03-17 21:03 QAQ001 阅读(56) 评论(0) 推荐(0)
摘要: InputStream字节输入流 InputStream (抽象类) ├── FileInputStream ├── ByteArrayInputStream ├── PipedInputStream ├── FilterInputStream │ ├── BufferedInputStream │ 阅读全文
posted @ 2025-03-17 21:02 QAQ001 阅读(48) 评论(0) 推荐(0)
摘要: Writer字符输出流 Writer (抽象类) ├── OutputStreamWriter │ └── FileWriter ├── BufferedWriter ├── CharArrayWriter ├── PipedWriter ├── FilterWriter └── PrintWrit 阅读全文
posted @ 2025-03-17 21:00 QAQ001 阅读(85) 评论(0) 推荐(0)
摘要: Reader字符输入流 Reader (抽象类) ├── InputStreamReader │ └── FileReader ├── BufferedReader ├── CharArrayReader ├── PipedReader ├── FilterReader │ └── Pushback 阅读全文
posted @ 2025-03-17 21:00 QAQ001 阅读(38) 评论(0) 推荐(0)
摘要: 对象输入流(ObjectInputStream) ObjectInputStream 用于从输入源(如文件、网络等)读取字节流并反序列化为对象 ObjectInputStream必须基于 InputStream(如 FileInputStream)创建,用于从源中反序列化对象 常用方法 Object 阅读全文
posted @ 2025-03-17 20:58 QAQ001 阅读(33) 评论(0) 推荐(0)
摘要: File文件类 File类用于表示文件和目录路径名的抽象表示。它提供了许多方法来操作文件和目录 1. 构造方法 File(String pathname): 通过给定的路径名字符串创建一个新的File实例。 File(String parent, String child): 根据父路径名字符串和子 阅读全文
posted @ 2025-03-17 20:57 QAQ001 阅读(69) 评论(0) 推荐(0)
摘要: Lambda 表达式 Lambda 表达式是 Java 8 引入的一个重要特性,它提供了一种简洁的方式来表示匿名函数(即没有名称的函数)。Lambda 表达式主要用于简化函数式接口的实现,使得代码更加简洁和易读。 函数式接口 函数式接口(Functional Interface)是Java中的一个概 阅读全文
posted @ 2025-03-17 20:52 QAQ001 阅读(25) 评论(0) 推荐(0)
摘要: 包装类 包装类(Wrapper Classes)是Java中用于将基本数据类型(如 int、char、boolean 等)封装为对象的类 将基本数据类型转换为对象,以便在需要对象的场景中使用(例如集合类) 提供了一些实用的方法(如类型转换、字符串解析等) 主要功能 包装类可以将基本数据类型封装为对象 阅读全文
posted @ 2025-03-17 20:51 QAQ001 阅读(76) 评论(0) 推荐(0)