自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 收藏
  • 关注

原创 SQL12 获取每个部门中当前员工薪水最高的相关信息

SQL12 获取每个部门中当前员工薪水最高的相关信息一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路思路1:使用窗口函数给每个部门员工薪水排名好后作为子表筛选思路2:将两张表连接后,对dept_no和salary进行筛选(用where子查询进行筛选) 三、完成代码#思路1select dept_no,s.emp_no,s.salary from(select dept_no,salaries.emp_no emp_no,salary,dense_rank()over(par

2022-04-10 17:05:41 463

原创 SQL11 获取所有员工当前的manager

SQL11 获取所有员工当前的manager一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路员工表包括普通员工和经理,员工表左连接部门经理表,然后where筛选非经理的员工即可三、完成代码select dept_emp.emp_no,dept_manager.emp_no manager from dept_emp left join dept_manager on dept_emp.dept_no = dept_manager.dept_nowhere dept_emp.em

2022-04-10 16:56:23 203

原创 SQL10 获取所有非manager的员工emp_no

SQL10 获取所有非manager的员工emp_no一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路思路1:员工表左连接领导表,不是领导的dept_no是null的思路2:子查询 where后子查询领导表中的emp_no,使用not in三、完成代码#思路1select employees.emp_no from employees left join dept_manager on employees.emp_no = dept_manager.emp_nowhere

2022-04-10 16:43:24 260

原创 SQL8 找出所有员工当前薪水salary情况

SQL8 找出所有员工当前薪水salary情况一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路考点:去重三、完成代码select distinct salary from salaries order by salary desc

2022-04-10 16:34:42 162

原创 SQL7 查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t

SQL7 查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路这题是分类并求和,考的是group by+having三、完成代码select emp_no,count(*) t from salaries group by emp_no having count(*)>=15...

2022-04-10 16:29:53 127

原创 SQL5 查找所有员工的last_name和first_name以及对应部门编号dept_no

SQL5 查找所有员工的last_name和first_name以及对应部门编号dept_no一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路考连接,所有员工数据都要截取(包括没有部门的),所以这次是要保证employees表的完整性三、完成代码select last_name,first_name,dept_no from dept_emp right join employees on dept_emp.emp_no =employees.emp_no...

2022-04-10 16:27:41 429

原创 SQL4 查找所有已经分配部门的员工的last_name和first_name以及dept_no

SQL4 查找所有已经分配部门的员工的last_name和first_name以及dept_no一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路这题也是考连接,部门表中存在的员工都是已分配部门的员工,将部门表左连接员工表即可三、完成代码select last_name,first_name,dept_no from dept_emp left join employees on dept_emp.emp_no =employees.emp_no...

2022-04-10 16:24:26 150

原创 SQL3 查找当前薪水详情以及部门编号dept_no

SQL3 查找当前薪水详情以及部门编号dept_no一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路我们知道每个部门只有一个领导,所以领导数与部门数对应,将领导表左连接薪水表可以达到表格中数据都为领导的情况三、完成代码select salaries.emp_no,salary,from_date,salaries.to_date,dept_nofrom dept_manager left join salaries on dept_manager.emp_no = salari

2022-04-10 16:21:16 85

原创 SQL2 查找入职员工时间排名倒数第三的员工所有信息

SQL1 查找最晚入职员工的所有信息一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路1、利用窗口函数对入职时间进行排序,然后把此表作为子表,查找入职时间第三的员工(麻烦)2、对所有员工的入职时间去重+order by排序,然后limit截取排在倒数第三的日期 作为where 中子查询的条件 三、完成代码SELECT * FROM employees WHERE hire_date = (SELECT DISTINCT hire_date FROM employees ORD

2022-04-10 16:05:10 167

原创 SQL1 查找最晚入职员工的所有信息

SQL1 查找最晚入职员工的所有信息一、问题描述二、基本思路三、完成代码一、问题描述二、基本思路 两种基本思路 1、利用order by 对hire_date进行排序,再利用limit截取第一行(缺陷是最晚入职的员工可能不只一个) 2、在where中子查询(where不能使用聚合函数) 三、完成代码select * from employeeswhere hire_date =(select max(hire_date) from employees)...

2022-04-10 15:59:35 385

原创 Json工具类

Json工具类Json简介1>Jackson2>Gson3>FastJson(Alibaba)4>JSON工具类的使用5>Redis方案改进Json简介JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在企业中非常常见,所以这里我们要对JSON数据解析。主流的解析库有以下3个。由于JSON属于工具类,在企业中一般会存在一个工具类模块,所以我们新建一个hos-tools子项目模块1>JacksonJackson:Sp

2021-03-28 00:31:01 476

原创 Spring整合redis

Spring整合redisRedis整合1>下载安装Redis整合Redis(Remote Dictionary Server)是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型,redis支持快照,依赖快照进行持久化。1>下载安装服务端下载下载地址:解压后对应机器位数运行32位或64位目录下的redis-server,直接双击即可...

2021-03-27 23:36:17 762 2

原创 企业协同开发工具Git

企业协同开发工具Git1>版本库Git安装1.1、概述1.1、下载安装1.3、系统配置1.4、常用命令1.5、Git基本操作1.6、Git区域介绍1.7、案例演示2>码云+Git配置仓库2.1、秘钥配置2.2、使用命令同步代码3>IDEA+Git3.1、代码提交或更新3.2、总结1>版本库Git安装1.1、概述Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。1.1、下载安装下载地址:https:

2021-03-25 18:56:42 241

原创 SpringMVC之整合SSM框架

整合SSM框架1>环境要求2>具体步骤1>环境要求环境:IDEAMySQL 8.0.22TomcatMaven 3.6要求需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;数据库环境2>具体步骤1、创建module、添加web支持2、导入pom.xml相关依赖和Maven资源过滤<?xml version="1.0" encoding="UTF-8"?><project

2021-03-24 16:34:01 81

原创 SpringMVC之拦截器与文件上传下载

拦截器与文件上传下载1>拦截器1.1、概述1.2、拦截器与过滤器的区别1.3、自定义拦截器1.4、验证用户是否登录 (认证用户)2>文件上传和下载2.1、准备工作2.2、文件上传2.3、文件下载1>拦截器1.1、概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。1.2、拦截器与过滤器的区别过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servle

2021-03-23 23:08:13 88

原创 SpringMVC之Json交互处理

Json交互处理1>Json基础2>JSON和JavaScript对象互转2.1、代码实现3>Controller返回JSON数据4>代码优化4.1、乱码统一解决4.2、返回json字符串统一解决4.3、测试集合输出4.4、输出时间对象4.5、抽象工具类5>FastJson5.1、fastjson 三个主要的类5.2、代码演示1>Json基础JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广

2021-03-23 21:39:13 79

原创 SpringMVC之第一个MVC程序

第一个MVC程序1>使用配置文件创建MVC程序1.1、具体步骤2>注释创建MVC程序2.1、具体步骤3>常见错误1>使用配置文件创建MVC程序1.1、具体步骤1、确定导入了SpringMVC依赖2、创建maven、增加web框架支持、配置web.xml,注册DispatcherServlet<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns

2021-03-22 16:48:27 87

原创 SpringMVC之什么是SpringMVC

什么是SpringMVC1>回顾MVC1.1、什么是MVC?1.2、Model1时代1.3、Model2时代1.4、职责分析1.5、回顾Servlet1>回顾MVC1.1、什么是MVC?MVC是模型(Model)、视图View、控制器(Controller)的简写,是一种软件设计规范是将业务逻辑、数据、显示分离的方法来组织代码MVC主要作用是降低了视图与业务逻辑间的双向耦合MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供

2021-03-22 10:05:31 158

原创 Spring框架之Spring与WEB

Spring与WEB1>不使用监听器创建WEB2>使用监听器创建WEB2.1、 使用Spring监听器ContextLoaderListener(掌握)2.2、具体步骤1>不使用监听器创建WEB1、新建Maven项目2、将 spring-mybatis 项目中以下内容复制到当前项目中:(1)Service 层、Dao 层全部代码(2)配置文件 applicationContext.xml 及 jdbc.properties,mybatis.xml(3)pom.xml

2021-03-20 11:30:30 103

原创 Spring框架之事务

事务1>事务1.1、什么是事务1.2、什么时候使用事务1.3、Java代码中事务放在哪里1.4、Spring中的事务1.5、不同数据库处理事务的方式1.6、这样处理事务的方式缺点是什么1.7、Spring框架提供的事务解决方案2>五个事务隔离级别常量(掌握)3>七个事务传播行为常量(掌握)3.1、PROPAGATION_REQUIRED3.2、PROPAGATION_SUPPORTS3.3、PROPAGATION_REQUIRES_NEW3.4、定义默认事务超时时限4>事务实现4.1

2021-03-20 02:27:20 122

原创 Spring框架之集成MyBatis

集成MyBatis1>问题概述2>整合步骤2.1、MySQL 创建数据库 springdb, 新建表 Student2.2、maven 依赖 pom.xml2.3、定义实体类Student2.4、定义StudentDao接口与SQL映射文件2.5、定义StudentService接口和实现类2.6、配置mybatis主配置文件2.7、修改Spring配置文件2.7.1、数据源的配置( 掌握)2.7.2、从属性文件读取数据库连接信息2.7.3、具体实现2.7.4、测试代码1>问题概述将

2021-03-20 01:33:09 123

原创 Spring框架之AOP面向切面编程

面向切面编程1>动态代理1.1、JDK动态代理1.2、CGLIB动态代理(了解)2>AOP面向切面编程2.1、AOP基础2.2、面向切面编程2.3、AOP术语2.4、切面三要素2.5、aop的实现3>学习使用aspectj框架3.1、切面的执行时间3.2、切面执行的位置3.3、切入点表达式3.4、AspectJ开发环境(掌握)3.5、使用注解方式实现AOP3.5.1、准备工作3.5.2、@Before前置通知-方法有JoinPoint 参数3.5.3、@AfterReturning后置通知

2021-03-19 21:19:25 142

原创 Spring框架之IOC作业

IOC作业1>作业描述2>作业答案1>作业描述使用IOC中的注释完成对数据库中文件进行增加(此处还没学到配置Spring-Mybatis文件)所以暂时不用连接数据库2>作业答案Dao类package com.bjpowernode.dao.impl;import com.bjpowernode.dao.UserDao;import com.bjpowernode.domain.SysUser;import org.springframework.ste

2021-03-19 17:48:30 179

原创 解决Spring配置文件被认为是普通文本

Spring配置文件被认为是普通文件1>问题概述2>解决方法1>问题概述创建Spring配置文件时,发现原本是xml文件却被当做是普通文本文件(text)导致的结果就是本来针对于xml的插件无法时间也就是无法得到提示,无法快速导入约束文件2>解决方法如下设置...

2021-03-19 17:40:04 326

原创 Spring框架之不使用AOP的开发方式

不使用AOP的开发方式1>问题概述2>方案一:调用方法3>方案二:利用工具类4>方案三:动态代理1>问题概述定义一个服务接口,声明两个业务方法doSome(),doOther()编写一个实现服务接口类,要求在业务方法实现前开启日志功能,执行后加入事务。2>方案一:调用方法➢ doTransaction():用于事务处理➢ doLog():用于日志处理然后,再使接口方法调用它们。接口方法也称为主业务逻辑。3>方案二:利用工具类当然,也可

2021-03-19 01:04:00 157

原创 Spring框架之应用指定多个Spring配置文件

应用指定多个Spring配置文件基本概念基本概念在实际应用里,随着应用规模的增加,系统中Bean数量也大量增加,导致配置文件变得非常庞大、臃肿。为了避免这种情况的产生,提高配置文件的可读性与可维护性,可以将Spring配置文件分解成多个配置文件。包含关系的配置文件:多个配置文件中有一个总文件,总配置文件将各其它子文件通过引入。在 Java代码中只需要使用总配置文件对容器进行初始化即可。Spring配置文件:也可使用通配符*。但,此时要求父配置文件名不能满足所能匹配的格式,否则将出现循

2021-03-19 00:04:51 122

原创 Spring框架之DI依赖注入

依赖注入1>依赖注入2>依赖注入的分类3>基于XML的DI3.1、Set注入3.1.2、简单类型注入3.1.2、引用类型注入3.2、构造注入4>引用类型的自动注入4.1、byName4.2、byType5>基于注解的DI5.1、 定义 Bean 的注解@Component( 掌握)5.2、简单属性注入@Value(掌握)5.3、byType 自动注入@Autowired( 掌握)5.4、JDK 注解@Resource 自动注入(掌握)5.4.1、byType 注入引用类型 注入

2021-03-18 23:49:14 132 1

原创 Spring框架之IOC控制反转

创建第一个Spring项目1>基本概念1.1、容器的概念1.2、控制反转ioc1.3、控制反转的体现1.4、依赖注入DI2>创建第一个Spring项目3>容器接口和实现类3.1、ApplicationContext 接口3.2、特性3.2.1、配置文件在类路径下3.2.2、ApplicationContext 容器中对象的装配时机3.2.3、使用spring容器创建的java对象1>基本概念1.1、容器的概念容器是一个服务器软件, 一个框架(spring)1.2、控制反转

2021-03-18 22:06:55 122

原创 Spring框架之基础知识

这里写目录标题一级目录二级目录三级目录一级目录Spring全家桶:Spring、Springmvc、Springboot、Spring cloudSpring:出现在2002左右,解决企业开发的难度,减轻对项目模块之间的管理,类和类之间的管理,帮助开发人员创建对象,管理对象之间的关系。Spring核心技术:ioc、aop,能实现模块之间,类之间的解耦合。二级目录三级目录...

2021-03-18 21:19:14 62

原创 Mybatis之配置文件

Mybatis之配置文件1>主配置文件2>dataSource标签2.1、dataSource类型2.2、dataSource配置3>事务4>使用数据库属性配置文件5>typeAliases(类型别名)6> mappers(映射器)7>PageHelper7.1、Mybatis 通用分页插件7.2、基于 PageHelper 分页1>主配置文件之前项目中使用的 mybatis.xml 是主配置文件。主配置文件特点:1、xml 文件,需要在头部使

2021-03-17 06:43:28 118

原创 Mybatis之动态SQL

动态SQL1>动态 SQL2> 动态SQL之<if>3>动态SQL之<where>4>动态 SQL 之<foreach>4.1、遍历List<简单类型>4.2、遍历List<对象类型>5>动态SQL之代码片段1>动态 SQL通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句。这里的条件判断使用的表达式为 OGNL 表达式。常用的动态SQL 标签有<if>、<w

2021-03-17 06:23:36 143

原创 Mybatis之封装MyBatis输出结果

封装MyBatis输出结果1>resultType1.1、 简单类型1.2、对象类型1.3、Map2>resultMap3>实体类属性名和列名不同的处理方式3.1、使用列别名和1>resultTyperesultType: 执行 sql 得到 ResultSet 转换的类型,使用类型的完全限定名或别名。 注意如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身。resultType 和resultMap,不能同时使用。1.1、 简单类型接口方法:int c

2021-03-17 05:54:17 81

原创 Mybatis之深入理解参数

深入理解参数1>parameterType2>一个简单参数3>多个参数3.1、使用@param3.2、使用对象3.3、按位置3.4、使用Map4>#和$4.1、#:占位符,告诉 mybatis 使用实际的参数值代替。并使用 PrepareStatement 对象执行 sql 语句, #{…}代替4.2、$1>parameterTypeparameterType: 接口中方法参数的类型, 类型的完全限定名或别名。这个属性是可选的,因为 MyBatis可以推断出具体传入语句的

2021-03-17 04:59:54 72

原创 Mybatis之传统dao层与动态代理实现方式

dao层两种实现方式1>传统方式实现dao层2>动态代理1>传统方式实现dao层1、在dao包中创建一个包叫作impl,impl创建一个StudentDao实现类,并复写它的方法package com.bjpowernode.dao.impl;import com.bjpowernode.dao.StudentDao;import com.bjpowernode.domain.Student;import com.bjpowernode.util.MyBatisUtil;

2021-03-17 01:15:18 134

原创 Mybatis主要类和工具类的创建

Mybatis主要类1>Resouces2>SqlSessionFactoryBuilder3>SqlSessionFactory4>SqlSession1>Resoucesmybatis中的一个类,负责读取主配置文件InputStream in = Resouces.getResouceAsStream("mybatis.xml");2>SqlSessionFactoryBuilder创建SqlSessionFactory对象SqlSessionFa

2021-03-16 23:26:06 93

原创 Mybatis之创建第一个mybatis项目

创建第一个mybatis项目1>具体步骤1>具体步骤1、利用navicat创建mysqls数据库和表2、创建maven工程4、删除默认创建的App类文件5、配置pom.xml,建立mysql驱动和mybatis依赖以及maven插件这里依赖的作用是导入对应的jar包<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactI

2021-03-16 23:17:46 118

原创 Mybatis基础以及创建一个Mybatis工程

Mybatis基础1> 三层架构1.1、三层架构对应的包1.2、三层中类的交互1.3、三层对应的处理框架2>框架3> mybatis框架4>mybatis功能5>总结1> 三层架构界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的。(jsp ,html ,servlet)业务逻辑层: 接收了界面层传递的数据,计算逻辑,调用数据库,获取数据数据访问层: 就是访问数据库, 执行对数据的查询,修改,删除等等的。1.1、三层架构对应的包界面层: c

2021-03-16 16:48:47 176

原创 过滤器接口

过滤器接口1>介绍2>具体作用3>Filter接口实现类开发步骤4>Filter拦截地址格式5>过滤器防止用户恶意登录行为1>介绍1)来自于Servlet规范下接口,在Tomcat存在于servlet-api.jar包2)Filter接口实现类由开发人员负责提供,Http服务器不负责提供3)Filter接口在Http服务器调用资源文件之前,对Http服务器进行拦截2>具体作用1)拦截Http服务器,办证过户Http服务器检测当前请求合法性2)拦截

2021-03-14 23:14:29 294

原创 监听器接口

监听器接口1>介绍2>作用域对象3>监听器接口实现类开发规范:三步4>ServletContextListener接口5>ServletContextAttributeListener接口6>监听器接口提高程序运行速度1>介绍1、一组来自于Servlet规范下接口,共有8个接口。在Tomcat存在servlet-api.jar包2、监听器接口需要由开发人员亲自实现,Http服务器提供jar包并没有对应的实现类3、监听器接口用于监控《作用域对象生命周期变化时

2021-03-14 22:41:05 600 3

原创 多个Servlet之间数据共享实现方案

多个Servlet之间数据共享实现方案1>实现方案2>ServletContext接口2.1、介绍2.2、工作原理2.3、全局作用域生命周期2.4、命令实现3>Cookie3.1、介绍3.2、原理3.3、实现命令1>实现方案1、数据共享:OneServlet工作完毕后,将产生数据交给TwoServlet来使用2、Servlet规范中提供四种解决方案1)ServletContext接口2)Cookie类3)HttpSession接口4)HttpServletReque

2021-03-14 22:08:04 493

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除