自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java函数式编程-三更草堂-学习笔记

函数式编程思想类似于我们数学中的函数,它主要关注的是对数据进行了什么操作。优点:Lambda是JDK8中一个语法糖,它可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现,让我们不用关注是什么对象,而是关注我们对数据进行了什么操作。基本格式:例1:我们在创建线程并启动时可以使用匿名内部类的写法Lambda表达式只关注有什么参数例2:匿名内部类 优化成Lambda表达式例3:优化例4:优化再省略总结:使用Lambda表达式替换匿名内部类,只需要保留匿名内部类的方法参数和方

2022-11-18 09:34:01 1879 1

原创 SpringSecurity-三更草堂-学习笔记

SpringSecurity是Spring家族中的一个安全管理框架。与Shiro相比,它提供了更丰富的功能,社区资源也更丰富。SpringSecurity的核心功能是认证和授权认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户。授权:经过认证后判断当前用户是否有权限进行某个操作。我们希望在认证失败或者是授权失败的情况下,也能和我们的接口一样返回相同结构的json,这样可以让前端对响应进行统一的处理。要实现这个功能我们需要知道SpringSecurity的异常处理机制。

2022-11-10 17:58:06 5633

原创 Mybatis-尚硅谷-学习笔记

Mybatis简介1、Mybatis历史Mybatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由 Apache Software Foundation迁移到了 Google Code。随着开发团队转投Google Code 旗下,iBatis3.x正式更名为Mybatis。代码于2013年11月迁移到GitHub。iBatis一词来源于“Internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQLMaps和Data Ac

2022-10-28 11:38:20 1567 1

原创 SpringMVC-尚硅谷-学习笔记

什么是SpringMVCSpringMVC是Spring的一个后续产品,是Spring为表述层开发提供的一整套完备的解决方案。SpringMVC的特点Spring家族原生产品,与IOC容器等基础设施无缝对接基于原生Servlet,通过功能强大的前端控制器DispatcherServlet,对请求和响应进行统一处理。提供表述层的全面解决方案。代码清新简洁内部组件化程度高,可拔插式组件即插即用。性能卓著,尤其适合现代大型、超大型互联网项目要求。

2022-10-24 19:53:38 631

原创 谷粒学院——后台管理系统功能模块

1. 创建数据库表:讲师表2. 创建项目,引入依赖3. 编写配置文件(application.properties)4. 代码生成器生成代码相关依赖讲师列表查询(1)编写接口controllerservice(2)创建config包,包下创建配置类@MapperScan可以放在主启动类上,但建议统一放在配置类中。细节处理根据上面的代码查询出来的时间显示如下:默认情况下json时间格式带有时区,并且是世界标准时间,和我们的时间相差8小时,解决:在application.prop

2022-10-19 18:20:59 2662

原创 谷粒学院——前台用户使用系统

1. 在service模块中创建子模块service_cms2. 创建配置文件3. 创建数据库表4. 根据表用代码生成器生成代码5. 主启动类前台显示轮播图热门课程和热门讲师在课程模块中,写前台显示热门课程和热门讲师的接口,为了区分创建一个front包,表示是前台系统相关的接口。添加redis做缓存1. 在公共模块的pom.xml中引入redis依赖2. 在service-base模块添加redis配置类3. 在方法上加缓存注解(1)@Cacheable:根据方法对其返回结果

2022-10-19 18:20:30 1207

原创 谷粒学院订单模块报错Cannot read properties of null (reading ‘teacherName‘)

点击“立即购买”,无法跳转到订单页面,报错:Cannot read properties of null (reading ‘teacherName’)原因:接口返回的对象名和前端获取的不一样,导致前端没获取到数据,所以查出来为null。

2022-10-18 11:01:07 309 1

原创 Spring-尚硅谷-学习笔记

Spring框架是一个轻量级的开源的JavaEE框架。Spring可以解决企业应用开发的复杂性。Spring有两个核心部分:IOC和AOPIOC:控制反转,把创建对象的过程交给SpringAOP:面向切面,不修改源代码的情况下进行功能增强Spring特点方便解耦,简化开发AOP编程支持方便程序测试方便和其他框架进行整合

2022-10-10 20:17:11 6111 2

原创 浅学Nginx学习笔记

反向代理中,客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。单个服务器解决不了,我们就增加服务器的数量(集群),然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。...

2022-08-12 16:12:39 877

原创 Java用POI导出Excel表格中的数据

poi操作Excel 主要通过HSSF,XSSF两种方式。HSSF只能解析.xls格式的excel文件,XSSF支持.xls与.xlsx两种格式。功能:传递一个Excel文件,拿到里面所有的数据,返回我猜是这个工具把第一行当成 表头了,而我传入的文件没有表头,里面都是数据,而我的需求是表里面是数字导出来就要是数字。这种方式有个不好的地方:第一行数据导出来都是字符串类型的。所以这种方式不满足我现在的需求,如果有表头就可以这样写。Excel中的数据是什么类型,就返回什么类型的数据。说下我之前导出的方式。.

2022-08-11 16:45:26 1236

原创 SpringBoot从数据库查询出数据,导入到CSV文件中

写入CSV文件有三个字段是“#######”百度看了很多解决办法,比如有的说修改文本的编码改成“带有BOM的UTF-8”,还有其他的,都不行。然后我发现这三个字段在数据库中是varchar类型,都挺长的。可以发现,有两个字段不够长,就没有乱码。写入数据会覆盖原来的数据,但需求是往文件中加数据。后来回想起IO流中,需求根据条件从数据库查询出符合要求的数据,然后导入到CSV文件中。如果把这个地方拉长一点,数据就出来了,但数据乱了。虽然不知道为什么,但好歹解决了。.........

2022-07-26 15:09:08 1098

原创 java获取字符串某个标点第二次出现的位置,并截取这个标点后面的字符串

第一个indexOf获取到第一个逗号的索引位置,然后可以根据这个索引,再用一次indexOf方法,这个indexOf需要两个参数,第一个参数是“,”,第二个参数是上面获取的索引值+1。例如“1128,2013,508,630,99,146”,截取后“508,630,99,146”问题获取字符串中第二个逗号后面的字符串。新的字符串571,967,223,180。新的字符串508,630,99,146。第一个逗号的索引4。第二个逗号的索引9。第一个逗号的索引4。第二个逗号的索引9。.........

2022-07-20 12:44:19 11360 2

原创 java中的异常处理

异常的作用增强程序的健壮性。java中异常以什么形式存在?异常在java中以类的形式存在,每一个异常类都可以创建异常对象。JVM执行到某一处觉得有异常,会new异常对象,并且将new的异常对象抛出,打印输出信息到控制台了。如异常对应的现实生活火灾(异常类)2008年8月8日,小明家着火了(异常对象)2008年8月9日,小红家着火了(异常对象)异常体系结构注意所有异常都是在运行阶段发生的,因为只有程序运行阶段才可以new对象,因为异常的发生就是new异常对象。第一种方式。......

2022-07-17 15:52:28 13658

原创 SpringBoot学习笔记二(data和安全)

SpringBootJDBCDruidMybatisSpringSecurity环境搭建用户认证和授权注销和权限控制记住我及首页定制ShiroShiro整合SpringBootJDBC新建项目:新建application.yamlspring: datasource: username: root password: qwer`123 url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useU

2022-06-04 10:15:50 256

原创 SpringBoot学习笔记(三)

SpringBootSwaggerSpringBoot集成Swagger配置Swagger信息Swagger配置扫描接口异步任务邮件任务定时任务RedisSwaggerSwagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。官网:https://swagger.io/Spr

2022-06-04 10:15:26 698

原创 SpringBoot学习笔记(一)

SpringBoot介绍什么是SpringBoot什么是微服务架构第一个SpringBoot程序SpringBoot自动装配原理SpringBoot配置yaml介绍什么是SpringBoot在过去的两年时间里,最让人兴奋、回头率最高、最能改变游戏规则的东西,大概就是Spring Boot了。Spring Boot提供了一种新的编程范式,能在最小的阻力下开发Spring应用程序。有了它, 你可以更加敏捷地开发Spring应用程序,专注于应用程序的功能,不用在Spring的配置上多花功 夫,甚至完全不用配

2022-06-04 10:15:05 196

原创 Vue学习笔记

Vue第一个Vue程序基本语法绑定事件双向数据绑定组件Axios异步通信计算属性内容分发(插槽)自定义事件vue-cli第一个Vue程序Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。 [5] 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。MVVM(Model-View-ViewModel)是一种软件架构设计模式,是一种简化用户界面的事件驱动编程方式。

2022-05-17 09:23:16 678

原创 Git基本用法学习笔记

Git版本控制版本控制分类Git历史Git环境配置Git基本理论Git文件操作使用码云IDEA中集成GitGit分支说明版本控制版本控制,是一种在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发,提高工作效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误简单说,就是用于管理多人协同开发项目的

2022-05-01 11:07:51 253

原创 SpringBoot电脑商城

电脑商城准备工作项目分析项目环境搭建项目用户注册用户登录修改资料准备工作项目分析项目功能:登录、注册、热销商品、用户管理(密码、个人信息、头像、收货地址)、购物车(展示、增加、删除)、订单模块。开发顺序:注册、登录、用户管理、购物车、商品、订单模块。某一个模块的开发:持久层:依据前端页面的设置规划相关的SQL语句,以及进行配置业务层:核心功能控制,业务操作以及异常的处理控制层:接收请求,处理响应前端:JS、JQuery、Ajax,这些技术连接后台项目环境JDK1.8版本及以

2022-04-18 16:00:41 653 1

原创 SpringBoot电脑商城--登录功能

登录功能用户登录1. 登录-持久层2. 登录-业务层3. 登录-控制层4. 登录-前端页面5. 用户会话session6. 拦截器用户登录当用户输入用户名和密码将数据提交给后台数据库进行查询,如果存在对应的用户名和密码则表示登录成功,登录成功后跳转到系统的主页,跳转在前端使用jQuery来完成。1. 登录-持久层规划需要执行的SQL语句依据用户提交的用户名和密码做select查询,密码的比较在业务层执行。select * from t_user where username = ?分析

2022-04-18 15:59:42 321

原创 SpringBoot电脑商城--注册功能

用户注册1. 创建数据库选中数据库创建t_user表:CREATE TABLE t_user ( uid INT AUTO_INCREMENT COMMENT '用户id', username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名', password CHAR(32) NOT NULL COMMENT '密码', salt CHAR(36) COMMENT '盐值', phone VARCHAR(20) COMMENT '电话号码', ema

2022-04-18 15:59:20 808

原创 SpringBoot电脑商城-资料修改功能

资料修改修改密码持久层业务层控制层前端页面个人资料持久层业务层控制层前端页面上传头像持久层业务层控制层前端页面页面优化修改密码需要用户提交原始密码和新密码,再根据当前登录的用户进行信息的修改操作。持久层规划需要执行的SQL语句根据用户的uid修改用户的password值。update t_user set password = ?, modified_user = ?, modified_time = ? where uid = ?;根据uid查询用户的数据。在修改密码之前,首先要保证当前这

2022-04-18 15:58:51 621

原创 SpringBoot电脑商城-商品详情

商品详情商品热销排行1 商品-创建数据表2 商品-创建实体类3 商品-热销排行-持久层3.1 规划需要执行的SQL语句3.2 接口与抽象方法3.3 配置SQL映射4 商品-热销排行-业务层4.1 规划异常4.2 接口与抽象方法4.3 实现抽象方法5 商品-热销排行-控制器5.1 处理异常5.2 设计请求5.3 处理请求6 商品-热销排行-前端页面显示商品详情1 商品-显示商品详情-持久层1.1 规划需要执行的SQL语句1.2 接口与抽象方法1.3 配置SQL映射2 商品-显示商品详情-业务层2.1 规划异常

2022-04-18 15:57:54 775

原创 SpringBoot电脑商城-购物车

购物车1. 加入购物车1.1 创建数据库表1.2 创建实体类1.3 持久层1.4 业务层1.5 控制层1.6 前端页面2. 显示购物车2.1 持久层业务层控制层前端页面增加购物车商品数量持久层1. 加入购物车1.1 创建数据库表CREATE TABLE t_cart ( cid INT AUTO_INCREMENT COMMENT '购物车数据id', uid INT NOT NULL COMMENT '用户id', pid INT NOT NULL COMMENT '商品id', price

2022-04-18 15:57:22 3535 4

原创 SpringBoot电脑商城-准备工作

电脑商城-准备工作准备工作项目分析项目环境搭建项目准备工作项目分析项目功能:登录、注册、热销商品、用户管理(密码、个人信息、头像、收货地址)、购物车(展示、增加、删除)、订单模块。开发顺序:注册、登录、用户管理、购物车、商品、订单模块。某一个模块的开发:持久层:依据前端页面的设置规划相关的SQL语句,以及进行配置业务层:核心功能控制,业务操作以及异常的处理控制层:接收请求,处理响应前端:JS、JQuery、Ajax,这些技术连接后台项目环境JDK1.8版本及以上maven

2022-04-18 15:56:23 791

原创 SpringBoot电脑商城-收货地址

收货地址1. 新增收获地址1.1 数据库表创建1.2 创建实体类1.3 持久层1.4 业务层1.5 控制层1.6 前端页面2. 获取省市区列表2.1 数据库表2.2 实体类2.3 持久层2.4 业务层2.5 控制层前端页面获取省市区的名称持久层业务层控制层1. 新增收获地址1.1 数据库表创建CREATE TABLE t_address ( aid INT AUTO_INCREMENT COMMENT '收货地址id', uid INT COMMENT '归属的用户id', name VARC

2022-04-18 15:55:36 1634

原创 SpringBoot电脑商城-创建订单以及统计方法耗时(AOP)

创建订单订单创建数据库表创建实体类持久层业务层控制层前端页面统计业务方法耗时功能AOP切面方法统计业务方法执行时长订单点击在线支付,可以将该订单添加到数据库中。创建数据库表CREATE TABLE t_order ( oid INT AUTO_INCREMENT COMMENT '订单id', uid INT NOT NULL COMMENT '用户id', recv_name VARCHAR(20) NOT NULL COMMENT '收货人姓名', recv_phone VARCHAR

2022-04-18 15:54:44 1472

原创 SSM框架整合练习

SSM框架整合分析MybatisSpring层SpringMVC层查询所有书籍增加书籍修改书籍删除书籍根据名字查询书籍分析需求分析 —> 设计数据库 —> 业务 —> 前端界面Mybatis1. 创建数据库CREATE DATABASE `ssmbuild`;USE `ssmbuild`;CREATE TABLE `books` ( `bookID` int(10) NOT NULL AUTO_INCREMENT COMMENT '书id', `bookName` v

2022-03-23 20:04:16 1573

原创 MySQL-老杜练习题

1、取得每个部门最高薪水的人员名称先找到每个部门的最高薪水,2、哪些人的薪水在部门的平均薪水之上3、取得部门中(所有人的)平均的薪水等级4、不准用分组函数(Max ),取得最高薪水5、取得平均薪水最高的部门的部门编号6、取得平均薪水最高的部门的部门名称7、求平均薪水的等级最低的部门的部门名称8、取得比普通员工(员工代码没有在 mgr 字段上出现的) 的最高薪水还要高的领导人姓名9、取得薪水最高的前五名员工10、取得薪水最高的第六到第十名员工11、取得最后入职的 5 名员工。日期也可以降

2022-03-23 11:36:21 392

原创 SSM框架之SpringMVC学习笔记

SpringMVC1. 回顾内容1.1 MVC架构1.2 Servlet2. 第一个SpringMVC程序3. SpringMVC执行流程4. 使用注解开发SpringMVC5. RestFul风格6. 结果跳转方式6.1 ModelAndView6.2 重定向和转发7. 接收请求参数及数据回显8. 乱码问题9. JSON9.1 什么是JSON9.2 Controller返回JSON数据1. 回顾内容1.1 MVC架构Model(模型):数据层dao、服务层serviceView(视图):jsp、h

2022-03-22 08:51:02 400

原创 初级算法一(数组和字符串)练习笔记

初级算法数组删除排序数组中的重复项买卖股票的最佳时机旋转数组存在重复元素只出现一次的数字两个数组的交集加一移动0两数之和数组删除排序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums

2022-03-20 14:35:37 491

原创 SSM框架之Spring学习笔记

Spring框架1. 简介2. IOC2.1 IOC理论推导2.2 HelloSpring2.3 IOC创建对象的方式2.4 Spring配置2.5 依赖注入2.6 bean的作用域2.7 Bean的自动装配2.8 使用注解实现自动装配@Autowired注解@Qualifier注解@Resource注解2.9 使用注解开发2.10 使用Java的方式配置2. AOP2.1 静态代理2.2 动态代理2.3 AOP的实现什么是AOP方式一:使用原生Spring API接口方式二:自定义实现AOP方式三:注解实

2022-03-20 14:33:31 271

原创 JavaSE重点之集合、IO、多线程

java基础1. 集合1.1 概述1.2 Collection集合List集合ArrayList集合LinkedListVector集合泛型HashSet集合TreeSet集合1.3 Map1. 集合1.1 概述数组其实就是一个集合,集合实际上就是一个容器,可以来容纳其他类型的数据。在实际开发中,假设连接数据库,数据库当中有10条记录,那么假设把这10条记录查询出来,在java程序中会将10条数据封装成10个java对象,然后将10个java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个

2022-03-16 18:55:50 1788

原创 SSM框架之Mybatis学习笔记

SSMMybatis概述入门案例:查询CRUD配置解析解决属性名和字段名不一致的问题。日志工厂分页使用limit分页RowBounds分页分页插件使用注解开发注解的CRUD多对一和一对多处理环境搭建多对一一对多动态SQL环境搭建Mybatis概述环境:JDK 1.8MySQL 5.7maven 3.6.1IDEA需要知识:JDBC、MySQL、java基础、Maven、Junit框架:有很多配置文件。学习方式:看官网文档。官网文档:https://mybatis.org/myb

2022-03-16 18:52:17 384

原创 MySQL-老杜学习笔记

MySQL1. 数据库概述1.1 数据库、数据库管理系统、SQL之间的关系1.2 表的理解1.3 SQL语句的分类1.4 导入数据1.5 查看表结构1.6 MySQL常用命令2. 查询语句DQL2.1 简单查询2.2 条件查询2.3 排序2.4 分组查询2.5 总结(单表查询)2.6 查询结果去重3. 函数3.1 单行处理函数3.2 分组函数4. 连接查询笛卡尔积现象内连接外连接三张表,四张表连接子查询union合并查询结果集limit5. DDL语句5.1 建表5.2 删表5.3 快速创建表(表的复制)5

2022-03-02 15:32:40 2086 7

原创 java web项目之黑马旅游网笔记

黑马旅游网一、项目导入二、项目启动三、技术选型四、创建数据库五、注册功能5.1、用户注册注册前台:表单校验注册后台5.2、邮件激活六、登录功能6.1、用户登录前台代码后台代码6.2、index页面中显示用户姓名七、退出功能八、servlet优化九、分类数据展示9.1、代码实现:9.2、对分类数据进行缓存优化十、旅游线路的分页展示10.1、类别id的传递10.2、根据id查询不同类别的旅游线路数据10.3、分页数据展示页码展示列表数据展示页码处理十一、旅游线路查询十二、旅游线路详情十三、旅游用户收藏功能十四、

2022-02-15 14:36:11 1770

原创 SpringMVC JSON打印乱码问题

看狂神老师讲解的SpringMVC,学到了JSON乱码问题。视频中讲解的是加上一段配置就能解决,配置如下<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <const

2022-02-05 20:52:17 129

原创 黑马旅游网注册功能异常org.springframework.dao.DuplicateKeyException: PreparedStatementCallback;

一、问题描述做注册功能的时候,想验证一下注册相同username会怎么样,结果出异常了。二、解决办法原来是在DAO里面执行SQL的语句写错了因为findByUsername有问题,导致查出来u为空,没有执行if判断将它返回出去。然后执行了save方法去保存信息(用户名相同不应该将数据存放进数据库),所以在DAO的save方法中抛了异常。...

2022-01-13 11:47:54 536

原创 用正则表达式验证input输入的日期为非空

一、问题描述input输入框的type为date,怎么用正则表达式验证它为非空呢?<input type="date" id="birthday" name="birthday" placeholder="年/月/日">刚开始我以为它和其他的验证方法一样,用/^/w+$/就可以,但结果是验证不通过(这里我用的blur方法验证,当失去焦点时,验证输入内容是否合法,如果不合法,输入框出现一个红色边框)。二、解决办法我决定按照输入框中的格式来。右斜杆(\)是转义。var reg_bir

2022-01-12 12:12:43 1422

原创 Maven的web工程启动tomcat出现500

1. 问题描述一种原因可能是jar包冲突,在<dependency></dependency>里面加上<scope>provided</scope>;我这里是另一种情况,tomcat6.0不支持jdk1.8版本(默认启动tomcat6.0)2. 解决办法在pom.xml中,加上下面这段代码<plugin> <groupId>org.apache.tomcat.maven</groupId> &lt

2022-01-10 13:20:11 476

空空如也

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

TA关注的人

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