Java
微毂
这个作者很懒,什么都没留下…
展开
-
3 Mybatis的加载策略&注解开发
一 MyBatis加载策略1.1 什么是延迟加载?问题通过前面的学习,我们已经掌握了Mybatis中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的订单信息。此时就是我们所说的延迟加载。举个栗子在一对多中,当我们有一个用户,它有个100个订单在查询用户的时候,要不要把关联的订单查出来?在查询订单的时候,要不要把关联的用户查出来?回答在查询用户时,用户下的订单应该是,什么时候用,什么时候查询。在查询订单原创 2020-12-03 23:51:08 · 113 阅读 · 0 评论 -
2 Mybatis 复杂映射&配置文件深入
Mybatis 复杂映射&配置文件深入一 Mybatis高级查询1.1 ResutlMap属性建立对象关系映射resultType如果实体的属性名与表中字段名一致,将查询结果自动封装到实体类中ResutlMap如果实体的属性名与表中字段名不一致,可以使用ResutlMap实现手动封装到实体类中1) 编写UserMapper接口public interface UserMapper { public List<User> findAllResultMap();原创 2020-12-01 23:13:07 · 139 阅读 · 0 评论 -
1 MyBatis的基本应用
SSM = springmvc + spring + mybatis一 框架简介1.1 三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层: 主要完成与数据库相关的操作,即对数据库的增删改查。因为数据库访问的对象一般称为Data Access Object(简称DAO),所以有人把持久层叫做DAO层。业务层: 主要根据功能需求完成业务逻辑的定义和实现。因为它主要是为上层提供服务的,所以有人把业务层叫做Service层或Business层。表现层原创 2020-12-01 22:13:36 · 536 阅读 · 0 评论 -
6 后端开发基础-MVC模式&三层架构【思想】
一 MVC模式1.1 JSP发展史早期只有servlet,只能使用response输出html标签,非常麻烦。后来有了JSP,简化了servlet开发;如果过度使用JSP,在JSP页面中写了大量的java代码和html标签,造成难于维护,难于分工协作的场景。再后来为了弥补过度使用jsp的问题,我们使用servlet+jsp这套组合拳,利于分工协作。1.2 MVC介绍MVC设计模式: Model-View-Controller简写。MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑原创 2020-11-30 21:19:54 · 2908 阅读 · 0 评论 -
5 后端开发基础-Filter & Listener
一 filter概述生活中的过滤器净水器、空气净化器、地铁安检、山大王web中的过滤器当用户访问服务器资源时,过滤器将请求拦截下来,完成一些通用的操作应用场景如:登录验证、统一编码处理、敏感字符过滤二 快速入门需求:编写filter对目标资源servlet进行拦截① 编写java类,实现filter接口public class QuickFilter implements Filter { @Override public void init(FilterConfig filt原创 2020-11-26 22:53:45 · 127 阅读 · 0 评论 -
4 后端开发基础-Cookie & Session
Cookie & Session一 会话概述1.1 什么是会话?日常生活中:从拨通电话到挂断电话之间的一连串你问我答的过程就是一个会话。B/S架构中:从浏览器第一次给服务器发送请求时,建立会话;直到有一方断开,会话结束。一次会话:包含多次请求响应。1.2 会话技术问题:Http是一个无状态协议,同一个会话的连续两个请求相互独立,彼此并不了解作用:用于存储浏览器与服务器在请求和响应过程中产生的数据客户端会话技术:cookie服务器端会话技术:session二 Cookie【重原创 2020-11-26 22:23:58 · 254 阅读 · 0 评论 -
3 后端开发基础-Servlet
一 Servlet概述servlet= server+applet :运行在服务器端的java程序。Servlet是一个接口,一个类要想通过浏览器被访问到,那么这个类就必须直接或间接的实现Servlet接口作用接收请求,处理逻辑,响应结果****二 Servlet快速入门案例需求:编写一个普通的java类,通过浏览器可以访问servlet概述servlet快速入门servlet生命周期(笔试题)servlet体系结构url-pattern的配置方式Request对象Resp原创 2020-11-25 23:30:32 · 339 阅读 · 0 评论 -
1 后端开发基础-Tomcat
Tomcat1.1 Web知识概述Web(互联网总称)Java Web:是用Java技术来解决相关web互联网领域的技术总和,通俗的说:将编写好的代码,发布到互联网,可以让所有用户都访问到1.1.1 软件架构网络中有很多的计算机,它们直接的信息交流,我们称之为:交互在互联网交互的过程的有两个非常典型的交互方式——B/S 交互模型(架构)和 C/S 交互模型(架构)C/S架构Client/Server 客户端/服务器访问服务器资源必须安装客户端软件例如: QQ,绝地求生,LOL原创 2020-11-22 17:43:14 · 838 阅读 · 2 评论 -
11、常用类库的概述和使用
常用的包(熟悉)包的名称和功能java.lang包 - 该包是Java语言的核心包,并且该包中的所有内容由Java虚拟机自动导入。如:System类、String类、…java.util包 - 该包是Java语言的工具包,里面提供了大量工具类以及集合类等。如:Scanner类、Random类、List集合、…java.io包 - 该包是Java语言中的输入输出包,里面提供了大量读写文件相关的类等。如:FileInputStream类、FileOutputStream类、…java.net包原创 2020-11-22 10:26:24 · 327 阅读 · 0 评论 -
11、MySQL-数据库连接池&DBUtils
1 数据库连接池1.1 连接池介绍什么是连接池实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection。这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池.连接池的好处用池来管理Connection,这样可以重复使用Connection。 当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection“归还”给池。原创 2020-11-22 00:02:13 · 356 阅读 · 0 评论 -
10、MySQL的应用之JDBC
1、JDBC概述1.1 什么是JDBCJDBC(Java Data Base Connectivity) 是 Java 访问数据库的标准规范.是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范。1.2 JDBC 原理JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供原创 2020-11-14 23:53:47 · 489 阅读 · 0 评论 -
20、Java SE 反射机制
20、反射机制20.1 基本概念通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制。通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制。目前主流的框架底层都是采用反射机制实现的。如:Person p = new Person(); - 表示声明Person类型的引用指向Person类型的对象p.show();原创 2020-11-10 22:08:36 · 121 阅读 · 0 评论 -
19、Java SE 网络编程
19、网络编程19.1 网络编程的常识19.1.1 七层网络模型OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。OSI七层模型和TCP/IP五层模型的划分如下:当发送数据时,需要对发送的内容按照上述七层模型进行层层加包后发送出去。当接收数据时,需要对接收的内容按照上述七层模型相反的次序层层拆包并显示出来。19.1.2 相关的协议(笔试题)(1)协议的概念计算机在网络中实现通信就必须有一些原创 2020-11-10 21:42:06 · 128 阅读 · 0 评论 -
18、Java SE-多线程
18、多线程18.1 基本概念18.1.1 程序和进程的概念程序 - 数据结构 + 算法,主要指存放在硬盘上的可执行文件。进程 - 主要指运行在内存中的可执行文件。目前主流的操作系统都支持多进程,为了让操作系统同时可以执行多个任务,但进程是重量级的,也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较局限。18.1.2 线程的概念为了解决上述问题就提出线程的概念,线程就是进程内部的程序流,也就是说操作系统内部支持多进程的,而每个进程的内部又是支持多线程的,线程是轻量的,原创 2020-11-09 23:06:34 · 156 阅读 · 0 评论 -
16、Java SE 异常机制
16.异常机制(重点)16.1 基本概念异常就是"不正常"的含义,在Java语言中主要指程序执行中发生的不正常情况。java.lang.Throwable类是Java语言中错误(Error)和异常(Exception)的超类。其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了等。其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决,如:0作为除数等。16.2 异常的分类java.lang.Exc原创 2020-11-08 23:11:44 · 71 阅读 · 0 评论 -
17、Java SE IO流
17、Java SE IO流17.1 IO流概念IO就是Input和Output的简写,也就是输入和输出的含义。IO流就是指读写数据时像流水一样从一端流到另外一端,因此得名为“流"。17.2、基本分类按照读写数据的基本单位不同,分为 字节流 和 字符流。其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。按照读写数据的方向不同,分为 输入流 和 输出流(站在程序的角度)。其中输入流主要指从文原创 2020-11-08 22:18:59 · 112 阅读 · 0 评论 -
7、Java SE基础-多态和特殊类
1、多态概念:• 多态主要指同一种事物表现出来的多种形态。• 饮料:可乐、雪碧、红牛、脉动、…• 宠物:猫、狗、鸟、小强、鱼、…• 人:学生、教师、工人、保安、…• 图形:矩形、圆形、梯形、三角形、…多态的语法格式• 父类类型 引用变量名 = new 子类类型();Shape sr = new Rect();sr.show();多态的特点• 当父类类型的引用指向子类类型的对象时,父类类型的引用可以直接调 用父类独有的方法。• 当父类类型的引用指向子类类型的对象时,父类类型的引用不原创 2020-09-28 21:38:45 · 186 阅读 · 0 评论 -
6、Java SE基础-static关键字与继承
1、static1.1、基本概念:使用static关键字修饰成员变量表示静态的含义,此时成员变量由对象层级提升为类层级,也就是整个类只有一份并被所有对象共享,该成员变量随着类的加载准备就绪,与是否创建对象无关。static关键字修饰的成员可以使用引用.的方式访问,但推荐类名.的方式。/* 编程实现People类的封装 */public class People { // 1.私有化成员变量,使用private关键字修饰 private String name; pr原创 2020-09-24 22:52:04 · 240 阅读 · 0 评论 -
5、Java SE 方法和封装
1、构造方法构造方法的基本概念:class 类名 类名(形参列表) { 构造方法体;}构造方法名与类名完全相同并且没有返回值类型,连void都不许有。class Person { Person() { - Person类中的构造方法 }} 当一个类中没有定义任何构造方法时,编译器会自动添加一个无参空构造构造方法,叫做默认缺省构造方法,如:Person{}若类中出现了构造方法,则编译器不再提供任何形式的构造方法。2、方法原创 2020-09-22 22:59:44 · 116 阅读 · 0 评论 -
4、Java SE基础-类和对象
1、类类的定义class 类名{类体;}规范:每个单词的首字母大写原创 2020-09-22 21:18:56 · 240 阅读 · 0 评论 -
3、Java SE基础-数组以及应用
数组以及应用原创 2020-09-19 18:00:32 · 84 阅读 · 0 评论 -
2、Java SE基础-流程控制语句
if原创 2020-09-19 18:08:49 · 98 阅读 · 0 评论 -
1、Java SE基础-数据类型、运算符
Java基础1、变量的基本概念2、变量的声明方式数据类型 变量名=初始值;变量要声明变量要初始化变量不能重复声明public class VarTest{ public static void main(String[] args){ //声明变量 int age=18; String name="张三" //打印值 System.out.println("age:"+a); }}从终端获取数据并打印import java.util.Scanner原创 2020-09-19 15:20:06 · 238 阅读 · 0 评论