
JavaLearn
文章平均质量分 95
java系列课程学习笔记
噗 嗤
这个作者很懒,什么都没留下…
展开
-
【JavaLearn】(27)MyBatis进阶:Mapper代理(接口绑定)、多参数传递、模糊查询、分页、自增主键回填、动态SQL、一级缓存、二级缓存
目录1. Mapper代理 (接口绑定)1.1 使用 Mapper代理方式实现查询1.1.1 实现步骤1.1.2 注意事项1.2 使用sql元素重用数据库字段2. 更多的映射2.1 多参数传递2.2 模糊查询2.3 分页查询2.4 自增主键回填3. 动态SQL3.1 if3.2 where3.3 bind3.4 set3.5 foreach4. 缓存4.1 一级缓存4.2 二级缓存4.3 缓存相关细节1. Mapper代理 (接口绑定)之前已经使用 MyBatis完成了对 emp表的 CRUD操作(My原创 2022-05-10 23:04:51 · 580 阅读 · 0 评论 -
【JavaLearn】(26)MyBatis基础:认识框架、MyBatis环境搭建、基本CRUD、配置文件、日志管理、别名、属性文件、ThreadLocal保存sqlSession、本地DTD、模板
目录1. MyBatis入门1.1 认识框架1.2 ORM1.3 认识 MyBatis2. MyBatis快速上手2.1 搭建项目环境2.2 完成 select操作2.2.1 查询所有操作2.2.2 通过id查询2.2.3 通过参数查询2.2.4 总结2.3 完成DML操作2.3.1 insert 操作2.3.2 update操作2.3.3 delete操作2.3.4 总结3. MyBatis功能详解3.1 关于 jar包3.2 核心 API3.3 关于配置文件3.4 关于日志管理4. 功能的完善4.1 定原创 2022-05-10 22:36:33 · 683 阅读 · 0 评论 -
【JavaLearn】(25)Ajax相关知识、三级联动案例、Bootstrap入门、栅格系统、排版、表格、字体图标等简单概述
目录1. 原生Ajax1.1 原生Ajax使用步骤1.2 验证用户名是否可用1.3 总结1.4 根据区号获取省份和城市2. jQuery封装Ajax2.1 语法2.1 验证用户名是否可用3. JSON3.1 JSON的格式3.2 JSON对象与JSON字符串的转换4. 三级联动菜单5. Bootstrap相关5.1 入门5.2 栅格系统5.3 排版5.4 代码5.5 表格5.6 字体图标1. 原生Ajax异步访问,局部刷新。Ajax 为异步操作,使用 Ajax代表摒弃了 JavaEE的转发与重定向操作原创 2022-05-10 22:35:52 · 512 阅读 · 0 评论 -
【JavaLearn】(24)Session、Cookie、ServletContext、MVC开发模式、JSP九大内建对象及四个作用域、JSTL及EL表达式、过滤器、监听器
目录1. session和cookie1.1 session和cookie原理1.2 cookie—实现10天免登录1.3 session—实现记住用户名2. servletContext2.1 统计网站访问次数2.2 ServletAPI 总结3.2 创建实体类3.3 DBUtil类3.4 创建 Dao层3.5 在 servlet中使用3.6 在 JSP中处理4. MVC模式4.1 提取业务层4.2 JavaBean4.3 用户注册案例4.4 合并Servlet5. JSP高级内容5.1 JSP执行原理5原创 2022-04-21 16:19:07 · 771 阅读 · 0 评论 -
【JavaLearn】(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向
目录1. JSP简单内容1.1 JavaEE1.2 部署web项目到服务器1.3 获取并输出当前时间—JSP1.4 JSP执行过程1.5 声明和注释1.6 静态包含和动态包含1.7 JSP页面构成1.8 JSP用户登录功能1.9 理解HTTP协议1.9.1 HTTP请求1.9.2 HTTP响应2. Servlet2.1 使用Servlet开发动态网页2.2 使用Servlet进行流程控制2.3 Servlet生命周期2.4 Servlet的API2.5 获取上下文和初始化参数3. 请求和响应3.1 解决表单原创 2022-04-16 09:37:22 · 163 阅读 · 0 评论 -
【JavaLearn】(22)jQuery介绍、选择器、事件、动画、DOM编程、操作CSS、表单验证
目录1. jQuery定义和特点1.1 jQuery 入门1.2 jQuery对象和DOM对象2. jQuery 选择器2.1 基本选择器2.2 属性选择器2.3 位置选择器2.4 表单选择器2.5 内容选择器3. 事件和动画3.1 事件 event3.2 动画 animate4. DOM 编程4.1 操作文本4.2 操作属性4.3 操作元素4.4 简单实例5. 操作CSS5.1 直接操作CSS样式5.2 使用类样式1. jQuery定义和特点1.1 jQuery 入门对 JavaScript 进行了原创 2022-04-16 09:02:33 · 696 阅读 · 0 评论 -
【JavaLearn】(21)JavaScript入门、基本语法、函数、基本对象、数组、事件、DOM和BOM
目录1. JavaScript入门1.1 JavaScript 定义和特点1.2 JavaScript的初步使用1.3 数据类型2. 基本语法2.1 变量2.2 运算符2.3 流程控制2.4 引入外部文件2.5 综合代码3. 函数4. 对象5. 时钟效果6. 数组7. 事件8. DOM 和 BOM8.1 BOM—window对象location、history、navigator对象8.2 DOM查询元素1. JavaScript入门静态网页技术 HTML:超文本标记语言 显示内容 CSS:层叠样式原创 2022-04-16 06:00:00 · 353 阅读 · 0 评论 -
【JavaLearn】(20)注解、元注解、模拟MyBatis注解、JDK新特性、数据库建模、UML建模
目录1. 注解1.1 认识注解1.2 内置注解1.3 元注解1.4 自定义注解1.5 使用反射读取注解2. JDK 新特性2.1 JDK8 新特性2.1.1 Lambda 表达式2.1.2 函数式接口2.1.3 Stream API2.1.4 新的日期类2.2 其他版本新特性2.2.1 JDK9 新特性2.2.2 JDK10 新特性2.2.3 JDK11 新特性2.2.4 JDK12 新特性3. 数据库建模3.1 CDM3.2 PDM3.3 生成SQL语句3.4 逆向生成3.5 三大范式4. UML建模4.原创 2022-04-16 05:30:00 · 986 阅读 · 0 评论 -
【JavaLearn】(19)反射、Class类、使用反射创建对象-操作属性-执行方法、泛型与反射、反射案例
目录1. 反射1.1 反射引入1.2 反射的入口—Class类2. 认识 Class 类3. 使用反射创建对象4. 使用反射操作属性5. 使用反射执行方法6. 使用反射操作泛型6.2 获取方法的返回值类型中的泛型6.3 使用反射突破泛型限制7. 反射案例—提取 DBUtil 的 select()7.1 认识ResultSetMetaData7.2 提取 DBUtil 类中的 select() 方法7.3 提取后的结果1. 反射1.1 反射引入编译时,知道类或对象的具体信息,此时直接对类和对象进行操原创 2022-04-16 01:10:46 · 311 阅读 · 0 评论 -
【JavaLearn】(18)JDBC基本操作(CRUD)、使用PreparedStatement、JDBC事务、员工管理系统、Properties类、log4j框架、数据库连接池
目录1. JDBC 基本操作1.1 JDBC 概述1.2 添加、修改、删除操作1.3 查询操作2. JDBC 高级操作2.1 使用PreparedStatement2.2 使用事务3. JDBC总结4. 员工管理系统4.1 搭建项目框架4.2 查询所有员工4.3 查询指定编号的员工4.4 初步提取 DBUtil 工具类4.5 添加员工4.6 修改、删除员工4.7 完善 DBUtil 工具类4.8 加入主菜单整合功能4.9 添加 Properties 类读取数据4.10 使用 log4j 记录日志4.11 数原创 2022-04-15 15:34:41 · 557 阅读 · 0 评论 -
【JavaLearn】(17)MySQL基础知识、DML及DDL语句、外键及非外键约束、外键策略、DQL语句(单表、多表)、连接查询、子查询、索引、事务、视图、存储过程、用户权限及角色管理
目录1. 基础知识1.1 数据库基础知识1.2 MySQL基础知识1.3 SQL语句入门1.3.1 连接MySQL相关命令1.3.2 操作数据库命令2. DDL 和 DML2.1 创建数据库表2.2 DML语句2.3 DDL语句3. 完整性约束3.1 非外键约束3.2 外键约束3.2.1 创建外键3.2.2 外键策略4. 快速创建表5. DQL 语句—单表5.1 准备数据5.2 最简单的SQL语句5.3 WHERE 子句5.4 单行函数5.5 多行函数5.6 GROUP BY 和 HAVING 子句5.7原创 2022-04-15 14:50:45 · 1263 阅读 · 0 评论 -
【JavaLearn】(16)多线程提升训练:生产者和消费者问题、Lock锁、ReadWriteLock、BlockingQueue、volatile、线程池、线程同步练习
目录1. 生产者消费者扩展1.1 多个生产者、多个消费者1.2 使用匿名内部类1.3 使用 Lock 锁2. 认识 Lock 锁API2.1 Lock2.2 ReadWriteLock3. BlockingQueue4. volatile5. 多线程练习题5.1 打印数字及字母5.2 打印递增的数字5.3 模拟售票5.4 自定义容器1. 生产者消费者扩展1.1 多个生产者、多个消费者由一个生产者、一个消费者、一个商品 ==》 扩展为多个生产者、多个消费者、多个商品最多有 10 个商品,最少有 0 个原创 2022-04-15 14:00:18 · 492 阅读 · 1 评论 -
【JavaLearn】(15)集合提升训练:手写ArrayList、单链表、LinkedList、HashMap、HashSet、新一代并发集合类
目录1. 手写ArrayList1.1 ArrayList 底层原理细节1.2 自定义:List、Iterator、异常处理1.3 自定义:测试类1.4 自定义:ArrayList2. 单链表2.1 单链表技能点2.2 手写单链表3. LinkedList3.1 底层原理3.2 手写LinkedList4. 手写HashMap4.1 底层原理4.2 手写 HashMap5. 手写 HashSet6. 新一代并发集合类6.1 三代集合类发展过程6.2 新一代并发集合类1. 手写ArrayList1.1 A原创 2022-04-15 13:29:31 · 192 阅读 · 0 评论 -
【JavaLearn】(14)网络及分类、TCP、UDP协议、IP、Socket、TCP编程、UDP编程
目录1. 网络基本概念1.1 计算机网络1.2 网络通信协议1.3 TCP/IP协议栈1.4 TCP协议1.5 UDP协议1.6 IP地址和端口1.7 URL 统一资源定位符1.8 Socket 套接字2. 网络编程常用类2.1 封装IP地址 – InetAddress2.2 封装 IP 和 Port – InetSocketAddress2.3 URL类3. TCP编程3.1 一次单向通信3.2 一次双向通信3.3 传输对象3.4 引入多线程4. UDP编程4.1 一次单向通信4.2 多次双向通信5. 文原创 2022-04-15 13:08:39 · 377 阅读 · 0 评论 -
【JavaLearn】(13)多线程:线程生命周期、线程控制、线程同步、线程通信、线程池、ForkJoin框架
目录1. 进程和线程2. 线程的定义方式2.1 继承 Thread 类2.2 实现 Runnable 接口2.3 实现 Callable 接口3. 线程的生命周期4. 线程控制4.1 join()4.2 sleep()4.3 yield()4.4 setDaemon()4.5 interrupt()5. 线程同步5.1 问题的提出5.2 同步代码块5.2.1 同步监视器(锁子)5.2.2 执行过程5.2.3 分析5.3 同步方法5.4 Lock 锁5.4.1 使用步骤5.4.2 可重入锁5.4.3 Lock原创 2022-04-15 09:04:20 · 469 阅读 · 0 评论 -
【JavaLearn】(12)IO流、文件字节(符)流、缓冲字节(符)流、数据流、对象流、序列化
目录1. IO流概述1.1 IO流分类1.2 IO流体系结构2. 文件【字节】流FileInputStream3. 文件【字符】流FileReader4. 缓冲【字节】流BufferedInputStream5. 缓冲【字符】流BufferedReader6. 数据流和对象流DataInputStreamObjectInputStream7. 序列化和反序列化8. 其他流8.1 打印流8.2 转换流8.3 其他流8.4 Java IO 中使用了哪些设计模式?9. 案例:复制文件夹10. BIO、NIO、AI原创 2022-04-15 00:07:09 · 593 阅读 · 0 评论 -
【JavaLearn】(11)Map、Iterator迭代器、Collections、集合总结、泛型
目录1. Map概述1.1 HashMap1.2 LinkedHashMap1.3 TreeMap2. Map的使用2.1 map的常用操作2.2 存储国家简称和全称2.3 存储学号和学生的映射3. HashMap 的源码3.1 put的源码3.2 get的源码3.3 JDK1.8的改变4. TreeMap 的源码4.1 put 的源码4.2 get 的源码5. HashSet 和TreeSet 的源码5.1 HashSet的源码5.2 TreeSet的源码6. Iterator 介绍及源码7. Colle原创 2022-04-15 00:06:45 · 1737 阅读 · 0 评论 -
【JavaLearn】(10)集合、List、栈、队列、Set、外部比较器、哈希表
目录1. 引入集合1.1 集合的使用场合1.2 集合和数组的区别1.3 集合框架2. List的主要实现类2.1 ArrayList2.2 LinkedList3. ArrayList3.1 简单使用3.2 使用泛型3.3 ArrayList 的更多方法3.4 ArrayList的源码3.5 扩容机制4. LinkedList4.1 概述4.2 LinkedList 源码5. 栈和队列6. Set6.1 HashSet6.2 LinkedHashSet6.3 TreeSet6.4 简单使用6.5 复杂操作(原创 2022-04-15 00:06:20 · 685 阅读 · 0 评论 -
【JavaLearn】(9)数据结构和算法
目录1. 数据结构1.1 数据结构概述1.2 线性表1.2.1 顺序存储结构1.2.2 链式存储结构1.2.3 其他链表1.3 栈和队列1.3.1 栈1.3.2 队列1.3.3 双端队列 deque1.4 树和图1.4.1 树1.4.2 二叉树1.4.2 二叉树1.4.3 查找树1.4.4 图2. 算法2.1 排序2.1.1 冒泡排序2.1.2 选择排序2.1.3 快速排序2.1.4 插入排序2.1.5 总结2.2 递归2.3 折半查找1. 数据结构1.1 数据结构概述数据结构:相互间存在一种或多种特原创 2022-04-15 00:08:27 · 949 阅读 · 0 评论 -
【JavaLearn】(8)Java的常用类:包装类、String类、日期类、Math类和Random类、枚举、File类
目录1. 包装类1.1 引入包装类1.2 自动装箱和自动拆箱1.3 == 和 equals2. String 类2.1 String类2.2 StringBuffer 和 StringBuilder3. 日期类3.1 Date类3.2 DateFormat类3.3 Calendar 类4. Math类和Random类5. 枚举6. File类1. 包装类1.1 引入包装类我们经常使用的基本数据类型并不是对象,有时为了业务需求,需要将基本数据类型转换成对象。Java对每个基本类型都设计了一个对应的包装原创 2022-04-14 20:45:00 · 168 阅读 · 0 评论 -
【JavaLearn】(7)面向对象案例:猜丁壳
目录1. 案例设计2. 搭建案例框架3. 开发工具类和常量类4. 开发玩家类和裁判类5. 开发游戏类并进行测试1. 案例设计最终的运行效果:类的设计:【常量类 和 工具类 在开发中应该必须定义】游戏的核心业务: 对战一局用户玩家出手电脑玩家出手输出两方的出手裁判判断谁赢谁输根据结果修改赢家的 winCount输出本局结果判断游戏是否结束2. 搭建案例框架com.lwclick.entity :存放实体类com.lwclick.service :存放业务代码com.lwclick.test原创 2022-04-14 20:30:00 · 177 阅读 · 0 评论 -
【JavaLearn】(6)异常
目录1. 异常2. 异常体系3. throw 和 throws4. 自定义异常1. 异常异常,总会发生的情况,异常处理完,代码要继续执行例如:除数为 0 ,或者不为数字。面对异常该怎么办呢?由开发者通过 if-else 来解决 ==》 代码臃肿,对程序员要求较高Java本身的异常处理机制,我们只需要捕捉,处理异常即可,处理完程序继续执行异常处理过程:捕获异常: try:内含可能产生异常的代码catch:捕获异常finally:无论是否发生异常,程序都需要执行的代码 声明异常(有异常,自己原创 2022-04-14 20:15:00 · 154 阅读 · 0 评论 -
【JavaLearn】(5)final关键字、抽象类、接口、内部类、虚拟机内存结构、垃圾回收
目录1. final 关键字2. 抽象类3. 接口4. JDK1.8的接口新特性5. 内部类5.1 非静态成员内部类5.2 静态成员内部类5.3 局部内部类5.4 匿名内部类6. 内部类的作用和使用场合7. 虚拟机的内存结构7.1 JVM堆内存划分8. 垃圾回收1. final 关键字修饰变量:使用 final 修饰后,变量的值不可改变,就成了常量 修饰基本数据类型时:值只能赋值一次,后续不能再赋值 final int NUM = 5;修饰引用类型时:引用变量的值(地址) 不能变,但是对象的属性可原创 2022-04-14 20:00:00 · 298 阅读 · 0 评论 -
【JavaLearn】(4)Object类、组合、多态性、设计模式、三大特征综合练习
目录1. 认识Object类1.1 Object 类的常用方法1.2 == 和 equals 的区别联系2. 组合3. 多态3.1 引入和使用多态3.2 向上转型3.3 向下转型3.4 简单工厂模式–返回值是父类类型4. 设计模式1. 认识Object类Object 类是所有类的基类,也就意味着所有的类,都具有Object类的属性和方法。1.1 Object 类的常用方法Object obj = new Object;// ===================== public方法 ======原创 2022-04-14 19:15:00 · 408 阅读 · 0 评论 -
【JavaLearn】(3)static关键字、package/import、注释、封装性、继承性
目录1. static关键字1.1 static 变量1.2 static方法1.3 static 代码块2. package 包和 import 导入2.1 package关键字2.2 import关键字3. 文档注释4. 封装性5. 继承性5.1 成员变量的隐藏5.2 构造方法的执行顺序1. static关键字一个类的成员包括变量、方法、构造方法、代码块和内部类。static 可以修饰除了构造方法以外的所有成员。使用 static 修饰的成员是静态成员,属于某个类的,一个类只有一份,不使用 sta原创 2022-04-14 19:00:00 · 516 阅读 · 0 评论 -
【JavaLearn】(2)类和对象、变量、构造方法、普通方法、this关键字
目录1. 类和对象1.1 面向过程和面向对象1.2 理解类和对象2. 局部变量和成员变量3. 构造方法及其重载3.1 构造方法3.2 对象数组4. 方法调用4.1 基本数据类型的方法调用 – 值调用4.2 引用数据类型的方法调用 – 地址传递5. this关键字1. 类和对象1.1 面向过程和面向对象面向过程和面向对象都是对软件分析、设计和开发的一种思想。机器语言汇编语言高级语言 - 面向过程:C、Fortran··· - 面向对象:C++、Ja原创 2022-04-14 14:16:25 · 186 阅读 · 0 评论 -
【JavaLearn】(1)JavaSE查漏补缺
1. Java跨平台原理概述说明总Java最大的优点就是跨平台(一次编译,到处运行),主要是指字节码文件可以在任何(具有Java虚拟机的)计算机或者电子设备上运行。分Java的执行过程:1. Java程序的运行要经过:编辑、编译、解释并执行2. Java源代码经过编译后生成字节码文件(.class),字节码文件与平台无关,只面向虚拟机3. 字节码文件需要通过Java虚拟机(JVM)再解释成 相应平台的机器码 并运行。Java虚拟机是可运行Java字节码文件的虚拟计算机。Java虚拟机中的解释器负责将字节码原创 2022-04-14 14:14:19 · 359 阅读 · 0 评论