
Java
文章平均质量分 76
无
杼蛘
有志者事竟成
展开
-
Spring Boot中Jack相关问题(精度丢失/日期格式化/忽略null值)
Spring Boot中Jack相关问题(精度丢失/日期格式化/忽略null值)原创 2022-08-14 17:56:46 · 874 阅读 · 0 评论 -
SpringBoot+JWT实现接口验证
SpringBoot+JWT实现接口验证原创 2022-08-13 15:37:13 · 551 阅读 · 0 评论 -
SpringBoot+Session 实现接口验证(过滤器+拦截器)
SpringBoot+Session实现接口验证(过滤器+拦截器)原创 2022-08-12 20:45:40 · 1637 阅读 · 0 评论 -
Spring Boot 配置静态资源路径
Spring Boot 配置静态资源路径原创 2022-08-12 11:19:15 · 8466 阅读 · 1 评论 -
SpringBoot快速入门--高级版
SpringBoot快速入门--高级版原创 2022-08-05 21:01:39 · 749 阅读 · 0 评论 -
SpringBoot快速入门--基础版(包含整合常用框架、跨域)
SpringBoot 概述SpringBoot 概念SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻 辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度 上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。Spring 缺点1) 配置繁琐虽然Spring的组件代码是轻量级的,但它的配置却是重量级的原创 2022-05-03 13:23:51 · 2003 阅读 · 1 评论 -
SpringBoot2--自动配置
依赖管理父项目做依赖管理<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.7</version> <relativePath/> <!-- lookup parent from repos原创 2022-04-24 22:33:16 · 343 阅读 · 0 评论 -
SpringBoot2--入门
开发环境IDE:idea 2021.3JDK:JDK8构建工具:maven 3.8.1Spring Boot:2.6.7maven设置更改Maven的settings.xml配置,IDEA中自带Maven,配置文件在IDEA安装路径\plugins\maven\lib\maven3\conf\settings.xml<mirrors> <mirror> <id>nexus-aliyun</id> <原创 2022-04-22 21:32:47 · 468 阅读 · 0 评论 -
SpringBoot2--简介
Spring Boot帮助你创建可以运行的独立的、基于Spring的生产级应用程序。我们对Spring平台和第三方库持固执己见的观点,以便您可以以最小的麻烦开始。大多数Spring Boot应用程序只需要很少的Spring配置。主要目标是:为所有的Spring开发提供一个根本上更快、更广泛的入门体验。开箱即用,但当需求开始偏离默认值时,要迅速摆脱困境。提供大型项目通用的一系列非功能性功能(如嵌入式服务器、安全性、指标、运行状况检查和外部化配置)。绝对无需生成代码,也无需进行 XML 配置。原创 2022-04-22 21:26:57 · 502 阅读 · 0 评论 -
MyBatisPlus--MyBatisX插件
MyBatisX一款基于 IDEA 的快速开发插件,为效率而生。官网地址:https://baomidou.com/pages/ba5b241、安装打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。如下图:2、代码快速生成快速创建新的SpringBoot工程,参考MyBatisPlus–入门案例_杼蛘的博客-优快云博客a>在IDEA中打开数据库,选择数据源.原创 2022-04-21 21:18:21 · 2907 阅读 · 1 评论 -
MyBatisPlus--多数据源
官网地址:多数据源 | MyBatis-Plus (baomidou.com)支持 数据源分组 ,适用于多种场景、纯粹多库、读写分离、一主多从、混合模式。目前来模拟一个纯粹多库的一个场景,其他场景类似;场景说明:创建两个库,分别为:mybatis_plus与mybatis_plus_1,使每个库一张表,通过一个测试用例分别获取用户数据与商品数据,如果获取到说明多库模拟成功。1、创建数据库及表创建数据库mybatis_plus和表userCREATE DATABASE `mybatis_plu.原创 2022-04-21 21:04:10 · 18221 阅读 · 1 评论 -
MyBatisPlus--代码生成器
官网地址:代码生成器(新) | MyBatis-Plus (baomidou.com)1、引入依赖在pom.xml中引入<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version></dependency>.原创 2022-04-19 20:06:23 · 1683 阅读 · 0 评论 -
MyBatisPlus--通用枚举
表中的有些字段值是固定的,例如性别(男或女),此时可以使用MyBatis-Plus的通用枚举来实现a>数据库表添加sex字段id主键自增b>创建通用枚举类型路径为src/main/java/com/mybatisplus_demo/enums/SexEnum.java@Getter@AllArgsConstructorpublic enum SexEnum { MALE(1, "男"), FEMALE(2, "女"); @EnumValue /.原创 2022-04-19 20:03:20 · 777 阅读 · 0 评论 -
MyBatisPlus--插件
六、插件MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能官网地址:插件主体 | MyBatis-Plus (baomidou.com)1、分页插件a>添加配置类创建 MybatisPlusConfig,路径在src/main/java/com/mybatisplus_demo/config/MybatisPlusConfig.java同时将将主类MyBatisPlusDemoApplication中的注解移到此处@Configuration@MapperScan原创 2022-04-19 19:11:33 · 2682 阅读 · 0 评论 -
MyBatisPlus--条件构造器和常用接口
1、Wrapper介绍Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装AbstractLambdaWrapper : 使用Lambda 语法LambdaQueryWrapper :用于Lambda语法使用的查询WrapperLambdaUpdateWrapper : Lambda 更新封装Wrapper原创 2022-04-18 14:25:48 · 2344 阅读 · 0 评论 -
MyBatisPlus--常用注解
官网地址:注解 | MyBatis-Plus (baomidou.com)1、@TableName经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致a>问题若实体类类型的类名和要操作的表的表名不一致,会出现什.原创 2022-04-16 17:42:49 · 1793 阅读 · 2 评论 -
MyBatisPlus--基本CRUD
1、BaseMapperMyBatis-Plus中的基本CRUD在内置的BaseMapper中都已得到了实现,我们可以直接使用,接口如下:package com.baomidou.mybatisplus.core.mapper;public interface BaseMapper<T> extends Mapper<T> { /** * 插入一条记录 * @param entity 实体对象 */ int insert(T entity原创 2022-04-15 17:26:52 · 6097 阅读 · 0 评论 -
MyBatisPlus--入门案例
1、开发环境IDE:idea 2021.3JDK:JDK8+构建工具:maven 3.8.1MySQL版本:MySQL 5.5.28Spring Boot:2.6.6MyBatis-Plus:3.5.12、创建数据库及表a>创建表CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;use `mybatis_plus`;CREATE TABLE `user` (`id` bigint(2原创 2022-04-12 19:50:35 · 1580 阅读 · 0 评论 -
MyBatisPlus--简介
1、简介MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。2、特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即原创 2022-04-12 19:43:37 · 200 阅读 · 0 评论 -
MyBatis--分页插件
1、搭建步骤a>添加pom依赖<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0&原创 2022-04-11 20:16:01 · 976 阅读 · 0 评论 -
MyBatis--逆向工程
正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:Java实体类Mapper接口Mapper映射文件1、步骤新建Maven项目,搭建MyBatis框架a>添加依赖和插件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4原创 2022-04-11 20:13:06 · 1328 阅读 · 0 评论 -
MyBatis--缓存
1、MyBatis的一级缓存一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问。使一级缓存失效的四种情况:不同的SqlSession对应不同的一级缓存同一个SqlSession但是查询条件不同同一个SqlSession两次查询期间执行了任意一次增删改操作同一个SqlSession两次查询期间手动清空了缓存(SqlSession的clearCache()方法)CacheMapper接口Emp原创 2022-04-10 17:05:09 · 1077 阅读 · 0 评论 -
MyBatis--动态SQL
Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决 拼接SQL语句字符串时的痛点问题。创建DynamicSQLMapper接口和映射文件,以及测试类1、ifif标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会拼接到SQL语句中;反之标签中的内容不会拼接DynamicSQLMapper接口/*** 多条件查询*/List<Emp> getEmpByCondition(Emp emp);Dynam原创 2022-04-09 15:59:17 · 1568 阅读 · 0 评论 -
MyBatis--自定义映射resultMap
新建Mybatis项目,搭建MyBatis框架过程不再赘述,参考前期博客:开始准备工作,此处只给出新内容准备工作创两个表,多对一关系(一个部门可以有多个员工),简单添加几条数据,如下:t_dept表,did主键自增t_emp表,eid主键自增创建两个pojo类:Emp.javapackage com.mybatis.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstru原创 2022-04-08 18:37:03 · 956 阅读 · 0 评论 -
MyBatis--特殊SQL的执行
在上一个项目进行测试,项目初始化参考:开始准备工作1、准备工作创建mapper接口,路径在src/main/java/com/mybatis/mapper/SQLMapper.javapackage com.mybatis.mapper;public interface SQLMapper { // 接口}创建mapper映射,路径在src/main/resources/com/mybatis/mapper/SQLMapper.xml<?xml version="1.0" e原创 2022-04-06 21:38:23 · 912 阅读 · 0 评论 -
MyBatis--各种查询功能
若查询出的数据只有一条:可以通过实体类对象接收可以通过List集合接收可以通过Map集合接收(以字段名为键,以字段值为值)若查询出的数据有多条:可以通过实体类型的List集合接收可以通过Map类型的List集合接收可以在mappr接口的方法上添加@MapKey注解,此时将每条数据转换的Map集合作为值,以某个字段的值作为键,放在同一个Map集合中一定不能通过实体类对象接受,此时会抛异常TooManyResultsException在上一个项目进行测试,项目初始化参考:开始准备工作原创 2022-04-04 20:19:01 · 2320 阅读 · 0 评论 -
MyBatis--获取参数值
MyBatis获取参数值的两种方式:${}和#{} ${}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号${}会产生SQL注入,#{}不会产生SQL注入问题1、准备工作新建一个Maven项目,在pom.xml导入相关依赖<?xml version="1.0" encoding="UTF-8原创 2022-04-03 20:13:54 · 1449 阅读 · 0 评论 -
MyBatis--核心配置文件详解
核心配置文件中的标签必须按照固定的顺序: properties->settings->typeAliases->typeHandlers->objectFactory->objectWrapperFactory->reflectorFactory->plugins->environments->databaseIdProvider->mappers<?xml version="1.0" encoding="UTF-8" ?><原创 2022-03-31 21:36:23 · 681 阅读 · 0 评论 -
MyBatis--增删改查
1、封装工具类由于SqlSessionj较常用,故封装成工具类,路径在src/main/java/com/mybatis/util/SqlSessionUtil.javapackage com.mybatis.util;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import原创 2022-04-03 16:58:10 · 1425 阅读 · 0 评论 -
MyBatis--搭建
1、开发环境IDE:idea 2021.3.2构建工具:maven 3.8.1MySQL版本:MySQL 5.5.28MyBatis版本:MyBatis 3.5.7可以在idea中安装MyBatisX插件,方便Mybatis中mapper和xml的映射,提高开发效率2、创建maven工程a>打包方式:jarb>引入依赖pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http原创 2022-03-31 13:27:56 · 1874 阅读 · 0 评论 -
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提供的持久层框架 包括SQL Maps和Data Access O原创 2022-03-29 18:59:25 · 197 阅读 · 0 评论 -
SpringMVC--执行流程
1、SpringMVC常用组件DispatcherServlet:前端控制器,不需要工程师开发,由框架提供作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求HandlerMapping:处理器映射器,不需要工程师开发,由框架提供作用:根据请求的url、method等信息查找Handler,即控制器方法Handler:处理器,也就是控制器,需要工程师开发作用:在DispatcherServlet的控制下Handler对具体的用户请求进行处理HandlerA原创 2022-03-28 14:41:15 · 180 阅读 · 0 评论 -
SpringMVC--注解配置SpringMVC
使用配置类和注解代替web.xml和SpringMVC配置文件的功能在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来配置Servlet容器。Spring提供了这个接口的实现,名为SpringServletContainerInitializer,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成。Spring3.2引入了一个便利.原创 2022-03-25 15:28:53 · 668 阅读 · 0 评论 -
SpringMVC--异常处理器
1、基于配置的异常处理SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolverHandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver和SimpleMappingExceptionResolverSpringMVC提供了自定义的异常处理器SimpleMappingExceptionResolver,使用方式:a>修改springMVC.xml配置文件<b原创 2022-03-24 21:20:13 · 836 阅读 · 0 评论 -
SpringMVC--拦截器
1、拦截器的配置SpringMVC中的拦截器用于拦截控制器方法的执行SpringMVC中的拦截器需要实现HandlerInterceptor或者继承HandlerInterceptorAdapter类(已过时)a>在templates下创建index.html和success.html<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head> <meta charset="原创 2022-03-23 17:52:16 · 186 阅读 · 0 评论 -
SpringMVC--文件上传和下载
1、文件下载使用ResponseEntity实现下载文件的功能a>创建控制器package com.mvc.controller;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controll原创 2022-03-20 15:51:09 · 631 阅读 · 0 评论 -
SpringMVC--HttpMessageConverter
HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,ResponseEntity1、@RequestBody@RequestBody可以获取请求体,需要在控制器方法设置一个形参,使用@RequestBody进行标识,当前请求的请求体就会为当前注解所标识的形参赋值<form th:a原创 2022-03-19 15:50:56 · 139 阅读 · 0 评论 -
SpringMVC--RESTful案例
1、准备工作和传统 CRUD 一样,实现对员工信息的增删改查。搭建Maven环境准备实体类package com.rest.bean;public class Employee { private Integer id; private String lastName; private String email; //1 male, 0 female private Integer gender; public Integer getId(原创 2022-03-15 19:24:50 · 502 阅读 · 0 评论 -
SpringMVC--RESTful
1、RESTful简介REST:Representational State Transfer,表现层资源状态转移。a>资源资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件、数据库中的一张表等等具体的东西,可以将资源设计的要多抽象有多抽象,只要想象力允许而且客户端应用开发者能够理解。与面向对象设计类似,资源是以名词为核心来组织的,首先关注的是名词。一个资源可以由一个或原创 2022-03-11 20:53:33 · 166 阅读 · 0 评论 -
SpringMVC--视图
SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图当工程引入jstl的依赖,转发视图会自动转换为JstlView若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView1、ThymeleafView当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文原创 2022-03-08 17:10:32 · 191 阅读 · 0 评论