Java
文章平均质量分 78
a听闻
A听闻
展开
-
压缩图片工具栏
/** * 压缩图片 * @param path 图片路径 * @param qality 参数qality是取值0~1范围内 代表压缩的程度 * @return * @throws IOException */ public void compressPictureByQality(String path,float qality) throws IOException { File file = new Fi...原创 2022-01-12 10:30:07 · 174 阅读 · 1 评论 -
Java操作PDF,在PDF模板中插入表格
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.11</version> </dependency> <dependency> ...原创 2022-01-11 19:41:56 · 2473 阅读 · 0 评论 -
MyBaitsPlus
MyBatis-Plus1. 什么是MyBatis-Plus官网链接:https://mybatis.plus/版本发布历史:https://github.com/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md1.1 简介MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率原创 2021-04-13 20:41:49 · 1022 阅读 · 0 评论 -
Swagger3使用
Swagger3使用参考连接:https://github.com/springfox/springfoxswagger2,上传文件有bug,不能实现多文件单字段上传,而且封装到对象里面的文件字段也不能上传文件,swagger3修正了该BUG,并且Swagger3.0简化了配置1 项目中添加依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-原创 2021-04-13 20:33:19 · 1041 阅读 · 3 评论 -
Swagger2使用
Swagger2使用官方地址:https://swagger.ioSwagger简介在日常的工作中,我们往往需要给前端(WEB端、IOS、Android)或者第三方提供接口,这个时候我们就需要给他们提供一份详细的API说明文档。但维护一份详细的文档可不是一件简单的事情。首先,编写一份详细的文档本身就是一件很费时费力的事情,另一方面,由于代码和文档是分离的,所以很容易导致文档和代码的不一致。 Swagger的出现可以完美解决以上传统接口管理方式存在的痛点。那什么是Swagger?我们可以直接看下原创 2021-04-13 20:30:48 · 302 阅读 · 0 评论 -
后端环境搭建Spring Boot
1. 回顾Spring在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。那么,问题来了,究竟是应该使用xml还是注解呢?最佳实践:应用的基本配置用xml,比如:数据源、资源文件等;业务开发用注解,比如:Service中注入bean等;原创 2021-04-13 20:09:12 · 333 阅读 · 0 评论 -
10-SSM框架整合
1. 框架整合1.1 使用IDEA创建一个基于maven的web项目项目创建后是一个不完整的目录结构,需要修改1.2 完善项目的目录结构1.3 导入需要依赖的坐标<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source&g原创 2021-04-04 15:47:08 · 180 阅读 · 0 评论 -
9-Mybatis多表操作
第九章、Mybatis多表操作1. 级联映射关系型数据库中,表之间的关系映射通常分为一对一一对多多对一多对多:(拆解-一对多或多对一)mybatis处理这些关系的两种方式:嵌套查询:通过执行另外一个SQL映射语句来返回预期的复杂类型(通常为单查询)。嵌套结果:使用嵌套结果映射来处理重复的联合结果的子集(通常为联表查询)。RBAC 权限模型(Role Basic Acess Controll , 基于角色的权限访问控制模型)1.1 一对一/多对一查询1.1.1 对一的模型原创 2021-04-04 15:43:45 · 209 阅读 · 0 评论 -
8-Mybatis高级配置
第八章、Mybatis高级配置1. MyBatis的映射文件高级cache – 该命名空间的缓存配置。cache-ref – 引用其它命名空间的缓存配置。resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。sql – 可被其它语句引用的可重用语句块。1.1 SQL代码片段该元素可以用来定义可重用的 SQL 代码片段,以便在其它语句中使用。1.1.1 基础的SQL片段通过<sql>标签定义代码片段<!--定义所有的列名-->原创 2021-04-04 15:40:05 · 190 阅读 · 0 评论 -
7-Mybatis入门
1. ORM框架1.1 数据持久化将内存中的数据和数据库中数据一一对应的操作,称为数据持久化。把数据库中数据读取到内存中:查询把内存中的数据保存到数据库中:新增,修改Object Relational Mapping,对象关系映射编写程序的时候,以面向对象的方式处理数据保存数据的时候,却以关系型数据库的方式存储1.2 常见的ORM框架Hibernate全自动ORM框架,只需要配置POJO(Plain Old Java Object)和映射关系移植性好,框架会自动生成对应原创 2021-04-04 15:37:04 · 131 阅读 · 0 评论 -
6-SpringWebMvc数据响应以及文件上传下载
1. SpringMVC的请求1.1 请求参数的理解Http协议的请求头,是服务器在正式接收数据之前对接收数据格式类型等的一些预处理信息。Http协议的响应头,是浏览器在正式处理数据之前对响应数据格式、类型、编码等等的预处理信息。字符串格式的数据。大多数数据使用该格式二进制格式的数据。通常是文件使用该格式1.1.2 请求的方式比较完整的请求方式可以在HttpServlet类源代码的请求方式定义中查看。public abstract class HttpServlet原创 2021-04-04 15:29:42 · 208 阅读 · 0 评论 -
5-Spring Web Mvc原理以及简单使用
1. Spring集成web环境(了解)1.1 web环境中的ApplicationContext在web项目开发中的程序执行过程客户端浏览器发送一个请求web服务器Tomcat接收到请求后,由 web容器 创建对应的servlet并初始化执行servlet负责调用service层service层负责调用dao层当使用spring的IoC容器后,service层和dao层都由spring负责创建,此时需要在servlet中创建ApplicaitonContext容器对象,使用以下的代码原创 2021-04-04 15:23:23 · 186 阅读 · 0 评论 -
04-Spring数据库操作以及事务支持
1. 数据库操作将关系型数据库中的数据读取到内存中的对象将内存中的对象数据保存到关系型数据库中1.1 JDBC技术1.1.1 常用对象和接口类/接口说明DriverManager用于管理一组JDBC驱动程序的基本服务类。Connection数据库连接对象。Statement用于执行静态SQL语句并返回其产生的结果的对象。PreparedStatement预编译SQL语句,并可设置参数,执行语句并返回其产生的结果的对象。ResultSet表示原创 2021-03-21 20:47:39 · 197 阅读 · 0 评论 -
03-Spring面向切面编程
1. AOP简介参考资料官网链接: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#aop参考翻译:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference/core.html#aop1.1 什么是AOPAOP 为 Aspect Oriented Programming 的原创 2021-03-21 20:27:29 · 113 阅读 · 0 评论 -
02-Spring注解开发
IOC容器加载Bean的过程构造方法public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException { // 设置父容器 super(parent); // 设置配置文件地址 setConfigLocations(configLocati原创 2021-03-21 20:19:46 · 178 阅读 · 2 评论 -
01-Sring简介及配置
1. Spring概述(理解)1.1 Spring是什么“Spring”在不同的场景中表示不同的内容。它可以用来表示Spring Framework项目本身,是所有Spring项目的基础。Spring框架和Spring项目系列通常简称为“ Spring”。其核心基础为IoC(Inversion of Control:控制反转)容器和AOP(Aspect Oriented Programming:面向切面编程)。1.2 Spring项目官方网址:https://spring.io/从配置原创 2021-03-16 19:30:23 · 594 阅读 · 1 评论 -
Java poi从Jtable 中导出数据到本地Excel保存
Java 从Jtable 中导出数据到本地Excel保存导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency> <dependency>原创 2021-01-01 18:00:18 · 415 阅读 · 0 评论 -
函数式接口Stream类
一、Stream概述1.1 关于流的简介 Java8是一个非常成功的版本,新增的Stream,配合同版本出现的Lambda,为我们操作集合提供了极大的便利。 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定我们希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来执行并行操作。 Stream将要处理的元素集合看做一种流,在流的过程中,借助原创 2020-12-29 16:04:28 · 458 阅读 · 3 评论 -
多线程笔记二
一 线程间调度的常用方法1.1 join()方法pubblic final void join() : 让父线程等待子线程结束后才继续运行pubblic final void join(mills:long) : mills 以毫秒为单位的等待时长pubblic final void join(mills:long,int nanos) : nanos 要等待的附加纳秒时长join()的使用场景:在实际开发中,我们很少会使用thread.join()在实际使用过程中,我们可以通过join原创 2020-12-28 21:02:54 · 111 阅读 · 0 评论 -
多线程笔记一
一 、多线程的概念程1.1 进程和线程的区别进程:进程是一种正在运行的程序,有独立的运行空间和系统资源线程:线程是进程中一个最小的执行单位,可以从头至尾的完成认为执行流程1.2 主线程与子线主线程:Java程序默认启动的线程,由虚拟机创建线程的入口-main方法子线程:由主线程启动起来的线程则是子线程二、 多线程的使用2.1 创建线程的方式一 Thread方式 1 继承Thread类,重写Thread类的run方法 2 创建Thread子类对象 3 调用子类对象的sta原创 2020-12-23 16:15:15 · 97 阅读 · 0 评论