自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MongoDB

MongoDB不像mysql 在使用前就得创建好列字段等 MongoDB可以随时添加字段,需求可以变MongoDB适用于:数据量大,写入操作频繁(读写都很频繁),价值较低的数据,对事物要求不高MongoDB是一个开源的,高性能的,无模式的文档型数据库,是NoSQL数据库中的一种,是最像关系型数据库(mysql)的非关系型数据库MongoDB中记录的是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB一个文档认为就是一个对象。字段的数据类型是字符型。它的值除了使用

2021-09-27 09:58:33 274

原创 HttpServletRequest和HttpServletResponse对象详解

HttpServletRequest 对象HttpServletRequest 对象代表客户端(浏览器)的请求,当客户端通过 HTTP 协议访问服务器时,HTTP 请求中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。以下是 HttpServletRequest 对象获取请求信息的一些方法以及代码示例:HttpServletResponse 对象与 HttpServletRequest 相反,HttpServletResponse 对象是专门用来封装 HTTP

2021-08-19 09:12:32 473

原创 java面试题第二波

1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。2) 线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。每个线程都拥有单独的栈内存用来存储本地数据。3) 如何在Java中实现多线程?1、继承Thread类2、实现Runn

2021-06-22 18:36:29 317

原创 MySQL高级 结合Linux

在Linux系统上安装好MySQL之后安装好后 在Linux系统 如何启动MySQL?

2021-06-15 11:46:45 90

原创 Linux命令行补充

vim 文件 进入命令模式 进入后 有相应的命令可以执行输入i 则切换到输入模式输入x 删除当前光标所在处的字符输入: 切换到底线命令模式 以在最底一行输入命令 如果是编辑模式 则需先按esc 退出编辑模式退出编辑模式后 则输入wq 就会退回到正常的界面touch 创建文件也可以一次性创建多个文件cp 拷贝拷贝整个目录的文件递归的方式cp -r 被复制目录/ 到达目录/rm 删除文件目录mv 移动 重命名ps -a

2021-06-13 09:18:21 64

原创 Linux远程 命令行

在实际的开发中 我们不会在自己电脑上装Linux系统可能 大多数都是远程操控机房的Linux服务器安装个软件 来远程用命令行的方式 操作Linux 系统软件名称:XShell5软件安装好后的截图还有安装一个软件 用于文件的传输软件名称 xftp5当装好远程控制Linux的软件后 我们与Linux系统连接 然后用命令行对其进行操作命令行关机&重启命令shutdown -h now 表示立即关机shutdown -h 1 表示一分钟后关机shutdow

2021-06-12 20:36:52 529

原创 mybatis-plus按日期区间查询数据

思路 :传入两个日期参数 返回list集合 带分页注意 要创建个日期的类 方便传入参数日期类 代码示例 方便用户按规矩选择package com.mumu.eduservice.entity.vo;import io.swagger.annotations.ApiModelProperty;import lombok.Data;@Datapublic class TecherTime { private static final long serialVersionUI

2021-06-10 22:51:01 11584

原创 在线教育--EasyExcel

EasyExcel 是阿里巴巴提供的一个 对excel操作框架 可以高效的对excel进行读,写 操作写 做法1 导入依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel<

2021-06-09 00:40:57 111

原创 在线教育--oss上传头像

阿里云上传头像 首先 截图目录 参考改该怎么建目录在配置文件中 添加对阿里云oss的相关配置注意 在配置阿里云的地址时 前后不能有空格#服务端口 与之前的service的端口号要区分 不能一样server.port=8002#服务名spring.application.name=service-oss#环境设置:dev、test、prodspring.profiles.active=dev#阿里云 OSS#不同的服务器,地址不同#bucket可以在控制台创

2021-06-08 19:59:08 110

原创 在线教育--统一异常处理

在全局模块中 创建个类 去制定全局异常类注意相关依赖 还有R 别引错包了 不然无法执行package com.mumu.common.config.exceptionhandler;import com.mumu.commonutils.R;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframewo

2021-06-08 14:25:57 77

原创 在线教育2--后端开发CRUD

思路分析增删改查 前后端分离1 首先 想要实现增删改查 那么数据库是资料是不可少的 明确要对哪些表,列,属性进行crud2 创建项目的结构》创建父工程一般为springboot工程(管理依赖版本和放公共依赖)》创建子模块一般为maven工程父工程 用来管理依赖 和版本的 我们导入相关要求的依赖(注意 遇到个问题 中午创建的application.properties 没有叶子 原因是 过早创建了 需要把依赖引进来先 再创建application.properties)工程截图

2021-06-08 13:11:39 205

原创 在线教育1--mybatis-plus

首先 建工程 导依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <depende

2021-06-07 13:37:01 77

原创 springboot整合jdbc

配置文件# 服务端口server.port=8001# 服务名spring.application.name=service-edu# 环境设置:dev、test、prodspring.profiles.active=dev# mysql数据库连接spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/guli

2021-06-06 22:07:40 61

原创 springmvc拦截器

过滤器与拦截器的区别过滤器:servlet规范中的一部分,任何javaweb工程都可以使用,在url-pattern中配置 /* 之后,可以对所有访问资源进行过滤拦截器:拦截器是aop思想的具体应用,拦截器是springmvc框架自己的,只有使用了springMVC 框架的工程才能使用拦截器只会拦截访问的控制器方法,如果访问的是jsp/html/css/image/js 是不会拦截的拦截器需要实现HandlerInterceptor接口package com.example.springboot

2021-06-05 20:20:33 70

原创 springmvc参数接收

逐个接收:参数名与形参名相同,按名称对象接收参数参数类型最好是包装类型package com.mumu.config;import org.springframework.context.annotation.Bean;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.

2021-06-05 10:39:30 79

原创 servlet处理请求

什么是servlet ?servlet是javaEE 的规范之一,规范即接口servlet 是JavaWeb三大组件之一,三大组件分别是servlet 接收请求,Filter 过滤器 ,Listener监听器servlet是运行再JavaWeb中的小型java程序,它可以接受客户端发送过来的请求,并响应数据给客户端servlet动态网页技术作用是什么?1 接收客户端请求 完成操作2 动态生成网页3 将包含操作结果的动态网页响应给客户端做法package com.mumu.util;

2021-06-03 00:25:45 179

原创 SpringMVC

什么是MVCMVC 是模型(Model) 视图( View ) 控制器(Controller)的简写,是一种软件设计规范而SpringMVC 是spring的一个框架,实际上就是spring的一个模块,专门是做web开发的SpringMVC 底层用的是ServletSpringMVC 中有一个对象 是DispatcherServlet 它负责接受用户的所有请求,用户把请求给了DispatcherServlet 之后,DispatcherServlet 把我们请求转发给我们的Contorlle

2021-06-02 10:02:40 61

原创 spring事务

什么是事务?事务时数据库操作最基本单元,事务要么都成功,要么都失败事务四个特性1 原子性 :不可分割 要么成功 要么都失败2 一致性:操作之前和操作之后 总量不变3 隔离性:多事务操作的时候,不会受影响4 持久性:操作完数据发生变化比如:在dao层写了对数据库的一些操作,而Service层调用dao层中的方法,在service层调用dao层中的方法在service层中,进行事务的开启,保证事务的一致性,这是编程方法,但是编程式不利于管理,所以开发我们一般不用它,而是用声明式(@Transa

2021-05-31 01:38:10 86

原创 spring5动态代理AOP

代理模式 为什么要学习代理模式?因为这就是SpringAOP的底层我们的业务逻辑是这样的dao层——>service层——>controller层——>前端动态代理和静态代理一样,动态代理是动态生成的。在了解动态代理之前先了解两个类Proxy:代理类,它里面有个方法很重要newProxyInstance()InvokationHandler:接口它里面有个抽象方法 就是对方法进行增强的具体操作AOP:在不改变项目源码的情况下,实现对某一方法的改动 就是AOP面向切面编程,

2021-05-30 09:06:04 87

原创 mybatis缓存

缓存 什么叫缓存?缓存是存在内存中的临时数据将用户经常查询的数据放在缓存中,用户去查时就不用从数据库中查询,而是从缓存中查询 从而提高效率 解决高并发系统的性能问题为什么使用缓存?缓存可以减少和数据库的交互次数 减少开销,提高系统效率什么样的数据可以使用缓存经常查询 并且不经常改变的数据 可以使用缓存mybatis定义了两个等级的缓存 一级缓存和二级缓存默认是一级缓存 也称之为本地缓存二级缓存:二级缓存需要手动开启配置,它基于namespace级别的缓存为了提高拓展性 mybatis

2021-05-30 01:29:01 79

原创 mybatis动态sql

动态sql 就是指 根据不同的条件生成不同的sql拓展 UUID 唯一的随机数用法 封装到工具类中 要用可以直接调用package com.mumu.util;import java.util.UUID;public class Uuid {public static String getuuid(){ //把 - 去掉 String s = UUID.randomUUID().toString().replaceAll("-", ""); retur

2021-05-29 13:02:15 59

原创 mybatis一对多,多对一

关联 association 多对一问题的出现 、、、当我们需要查询多张表时,我们有两种大的方式选择第一就是用映射接口 //查询所有Edu_comment List<Edu_comment> getIdEdu(); Mapper <select id="getIdEdu" parameterType="map" resultMap="educom"> select c.id cid, c.gmt_modified cgm

2021-05-29 02:34:13 192

原创 mybatis注解与@Data

题外话:面向接口编程根本原因: 解耦 可拓展 提高复用 分层开发其实就是让接口进行规范 ,使得开发变得更标准 更容易注解开发mybatis免去了写Mapper.xml 文件做法 直接在接口的方法上写上加上@Select(“里面写查询的sql语句”) @Select("select * from guli_edu.Edu_teacher") List<Edu_teacher> getAllT();了解一下就好 这个方式不适合操作稍微难度较高的sql语句

2021-05-29 02:12:32 1088

原创 Mybatis分页查询

分页查询回顾MySQL的分页查询select * from user limit startindex,pagesize;//startindex 是从第几条数据开始查//pagesize 这个是显示几条数据// 如果只写一个参数 则默认表示(0,参数值)在mybatis的分页查询 xxxMapper.xml文件下sql语句<!-- 分页查询--> <select id="getindex" parameterType="map" res

2021-05-27 16:50:31 470 1

原创 Mybatis日志工厂

介绍一下 什么是Log4j?Log4j是Appache的一个开源项目 通过使用Log4j 我们可以控制日志信息输送到目的地(控制台,文件,GUI)组件通过定义没一条日志的信息的级别 我们能够更加细致地控制日志生产过程配置日志工厂 <settings><!-- MyBatis配置文件最前面进行设置开启 日志级别为LOG4J 默认是(STDOUT_LOGGING)--> <setting name="logImpl" v

2021-05-27 16:32:19 64

原创 resultMap结果集映射

resultMap结果集映射当我们的pojo(entity)包下的实体类 与数据数据库的列名不匹配的时候运行时可能会报错解决这一方法可以给属性名起别名 或者在 resultMap结果集映射在写sql语句时 我们有resyltType 结果类型 和parameterType 参数类型而出现实体类的属性 与数据库列名不一致时 我们可以使用 结果集映射resultMap 在使用resultMap 之前 我们得先在它上面定义好代码块<?xml version="1.0" encodi

2021-05-27 16:15:00 160

原创 mybatis映射器

当在xxxMapper.xml文件中 配置好了sql语句 需要执行时我们需要告诉MyBatis 去哪找这些语句所以需要我们去mybatis-config.xml 的那文件下 写告诉MyBatis 从哪个路径去找xxxMapper.xml

2021-05-27 10:35:06 53

原创 mybatis生命周期

生命周期 和作用域是至关重要的因为错误的使用会导致非常严重的的并发问题SqlSessionFactory:SqlSessionFactory可以被认为是一个数据库连接池,它的作用是创建SqlSession接口对象。因为MyBatis的本质就是java对数据库的操作,所以SqlSessionFactory的生命周期存在于整个MyBatis的应用之中,所以一旦创建了SqlSessionFactory,就要长期保存它,直至不再使用MyBatis应用,所以可以认为SqlSessionFactory的生命周期就等

2021-05-27 10:11:30 86

原创 mybatis增删改查

前面的mybatis 入门已经介绍了一些基础的mybatis现在我们来通过mybatis的代码 实现对数据库的增删改查操作首先 我们建立的的dao包中 有对数据库操作的持久化代码dao层中 增删改查代码块的xml 再结合接口与 resource文件下的mybatis-config.xml实现对数据库执行操作(当然还有测试类 和Util类)<?xml version="1.0" encoding="UTF8" ?><!DOCTYPE mapper PUBLI

2021-05-27 01:11:43 85

原创 MyBatis介绍,入门

什么是MyBatis?MyBatis 是一款优秀的持久层框架MyBatis避免了所有JDBC 代码 和手动设置参数以及获取结果集如何获得MyBatis?maven官网Github官网MyBatis中文文档什么是持久层?Dao层 Service层 Controller层这些包里面完成持久化工作代码为什么要使用MyBatis?·方便 传统的JDBC太复杂· 可以帮助程序员将数据存入数据库中第一个mybatis程序思路;搭建环境——> 导入mybatis——>编写代码—

2021-05-26 13:02:10 90

原创 注解 开发

注解开发以前我们都是写配置文件.xml 来实现属性和对象的创建与注入现在 我们用注解的形式 就能免去写.xml配置文件 这繁琐的事了做法——创建个maven工程——引入spring依赖(spring context)创建一个配置类 来代替xml配置文件比如 现在创建了一个包叫config在包里创建了一个类 叫Config在Config类的上面加上注解@Configuration //告诉Spring 这是一个配置类再加上注解@ComponentScan(value = “com.mum

2021-05-25 19:36:41 72

原创 反射

反射问:如何通过反射获取class(大Class的实例)答:Class c1 = Class.forName(“com.mumu.commonutils.test.Test02”);//通过反射 获取Class Class c2 = c1.getSuperclass();//通过反射 获取父类的class问:还有什么可以?答: Class objectClass = Object.class;Class integerClass = int.class;Class stringCla

2021-05-25 09:45:43 78

原创 元注解

元注解问:什么是元注解?答:用来修饰注解的注解就叫元注解问:元注解主要有哪些?答:有**@Target** 和**@Retention**问:@Target是什么意思,它的功能是什么?答:它是用来描述注解的使用范围的,比如@Target(ElementType.TYPE)——可以作用在接口、类、枚举、注解@Target(ElementType.FIELD)——被它修饰的可以作用在字段、枚举的常量@Target(ElementType.METHOD)——被它修饰可以作用在方法@Tar

2021-05-25 01:20:32 79

空空如也

空空如也

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

TA关注的人

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