自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机常见英文单词

cursor 光标retrieve 检索designate 特定,指定column 列execute 实行,执行parameter 参数Sets the value of the designated parameter using the given object使用给定的对象设置指定参数的值lable 标签Meta Data 元数据BLOB 二进制大对象Retrival 检索,取回mapper 映射templates 模板,范本...

2020-10-01 12:20:00 19

原创 Mybatis遇见的错误

1.org.apache.ibatis.binding.BindingExceptionException in thread "main" org.apache.ibatis.binding.BindingException: Type interface org.javaboy.dao.IUserDao is not known to the MapperRegistry.检查定义的接口和实体类映射的接口名是否一致...

2020-09-29 18:41:09 6

原创 Apache-DBUtils

文章目录Apache-DBUtils简介主要API的使用DbUtilsQueryRunner类ResultSetHandler接口及实现类Apache-DBUtils简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能主要API的使用DbUtilsDbUtils :提供如关闭连接、装载JDBC驱动程序等常规工作的工具类,里面的所有方法都是静态

2020-09-29 12:14:27 6

原创 数据库连接池

文章目录数据库连接池的必要性什么是数据库连接池数据库连接池技术的优点多种开源的数据库连接池C3P0数据库连接池Druid(德鲁伊)数据库连接池参数配置数据库连接池的必要性普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的方式将会消耗大量的资源和时间。数据库的连接资源并没有得到很好的重复利用。若同时有

2020-09-29 11:00:00 13

原创 使用PreparedStatement实现CRUD操作

文章目录操作和访问数据库使用Statement操作数据表的弊端PreparedStatement的使用PreparedStatement介绍PreparedStatement vs StatementJava与SQL对应数据类型转换表使用PreparedStatement实现增,删,改操作ResultSet和ResultSetMetaDataResultSet操作和访问数据库数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。

2020-09-28 23:58:57 541

原创 获取数据库连接

文章目录Driver接口实现类Driver接口介绍加载与注册JDBC驱动URL几种常用数据库的JDBC URLMySQL连接URL编写方式Oracle 9i连接URL编写方式SQLServer连接URL编写方式用户名和密码数据库连接方式连接方式一连接方式二Driver接口实现类Driver接口介绍java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。在程序中不需要直接去访问实现了 Driver 接口的类,

2020-09-28 12:05:47 23

原创 JDBC概述

文章目录数据的持久化Java中的数据存储技术JDBC介绍JDBC体系结构JDBC程序编写步骤数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件,XML数据文件中。Java中的数据存储技术JDBC直接访问数据库JDO(Java Data Obje

2020-09-28 08:55:42 13

原创 JPA和Spring Data

文章目录JPAJPA是什么JPA和Hibernate的关系JPA的供应商JPA的优势SpringDataJPAJPA是什么Java Persistence API:用于对象持久化的 APIJava EE 5.0 平台标准的 ORM规范,使得应用程序以统一的方式访问持久层JPA和Hibernate的关系JPA是hibernate的一个抽象(就像JDBC和JDBC驱动的关系)JPA 是规范:JPA 本质上就是一种 ORM 规范,不是ORM 框架,这是因为 JPA 并未提供 ORM 实现,它

2020-09-27 20:17:21 24

原创 SpringBoot整合Mybatis多数据源

文章目录工程创建多数据源配置MyBatis配置mapper创建其实关于多数据源,复杂的就直接上分布式数据库中间件,简单的再考虑多数据源。这是项目中的建议,技术上的话,当然还是各种技术都要掌握的。工程创建首先需要创建MyBatis项目,项目创建和前文的一样,添加MyBatis、MySQL以及Web依赖:项目创建完成后,添加Druid依赖,和JdbcTemplate一样,这里添加Druid依赖也必须是专为Spring boot打造的Druid,不能使用传统的Druid。完整的依赖如下:<dep

2020-09-27 14:46:55 12

原创 SpringBoot整合MyBatis

文章目录工程创建基本用法1.直接使用注解2.使用XML映射文件原理分析工程创建首先创建一个基本的Spring Boot工程,添加Web依赖,MyBatis依赖以及MySQL驱动依赖,如下:创建成功后,添加Druid依赖,并且锁定MySQL驱动版本,完整的依赖如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte

2020-09-27 14:22:31 9

原创 SpringBoot多数据源配置之JdbcTemplate

文章目录创建工程配置数据源配置JdbcTemplate实例测试使用多数据源配置也算是一个常见的开发需求,Spring和SpringBoot中,对此都有相应的解决方案,不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件MyCat去解决相关问题,之前有小伙伴在我的知识星球上提问,他的数据根据条件的不同,可能保存在四十多个不同的数据库中,怎么办?这种场景下使用多数据源其实就有些费事了,我给的建议是使用MyCat,然后分表策略使用sharding-by-intfile。当然如果一些简单的需求,还

2020-09-27 13:30:55 5

原创 SpringBoot数据持久化之JdbcTemplate

文章目录基本配置基本用法增删改查其他原理在Java领域,数据持久化有几个常见的方案,有Spring自带的JdbcTemplate、有MyBatis,还有JPA,在这些方案中,最简单的就是Spring自带的JdbcTemplate了,这个东西虽然没有MyBatis那么方便,但是比起最开始的Jdbc已经强了很多了,它没有MyBatis功能那么强大,当然也意味着它的使用比较简单,事实上,JdbcTemplate算是最简单的数据持久化方案了。基本配置JdbcTemplate基本用法实际上很简单,开发者在创建一

2020-09-27 11:14:54 8

原创 SpringBoot自定义欢迎页,自定义favicon和除去自动化配置

文章目录自定义欢迎页自定义favicon除去自动化配置自定义欢迎页可以在static目录下自定义欢迎页面,或者在templates目录下自定义欢迎页面。定义HelloController类@RestControllerpublic class HelloController { @GetMapping("/index") public String index(){ return "index"; }}浏览器访问,默认优先访问静态页面,即static目

2020-09-26 22:58:20 16

原创 SpringBoot路径映射和类型转换器

文章目录路径映射传统的方式使用路径映射类型转换器路径映射传统的方式1.创建hello.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><h1>Hello Spring Boot!</h1></body&

2020-09-26 20:47:11 16

原创 SpringBoot整合Web基础组件

文章目录创建MyServlet类创建MyFilter类创建MyRequestListener类在ServletApplication上添加注解创建MyServlet类@WebServlet(urlPatterns = "/myservlet")public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse re

2020-09-26 17:28:27 18

原创 SpringBoot定义系统启动任务

文章目录JavaWebCommandLineRunnerApplicationRunnerJavaWeb在 Servlet/Jsp 项目中,如果涉及到系统任务,例如在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行,这里,容易想到web基础中的三大组件( Servlet、Filter、Listener )之一 Listener ,这种情况下,一般定义一个 ServletContextListener,然后就可以监听到项目启动和销毁,进而做出相应的数据初始化

2020-09-26 15:21:06 18

原创 SpringBoot注册拦截器

文章目录实例创建MyInterceptor创建WebMvcConfig创建HelloController实例创建MyInterceptorpublic class MyInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws

2020-09-26 13:39:06 22

原创 SpringBoot中通过CORS解决跨域问题

文章目录同源策略实践存在的问题同源策略很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的,说到跨域,就不得不说说浏览器的同源策略。同源策略是由Netscape提出的一个著名的安全策略,它是浏览器最核心也最基本的安全功能,现在所有支持JavaScript的浏览器都会使用这个策略。所谓同源是指协议、域名以及端口要相同。同源策略是基于安全方面的考虑提出来的,这个策略本身没问题,但是我们在实际开发中,由于各种原因又经常有跨域的需求,传统的跨域方案是JSONP,JSONP虽然能解决跨域但是有

2020-09-26 13:05:56 2436

原创 SpringBoot中关于自定义异常处理

文章目录静态异常页面动态异常页面自定义异常数据自定义异常视图静态异常页面自定义静态异常页面,又分为两种,第一种 是使用 HTTP 响应码来命名页面,例如 404.html、405.html、500.html ….,另一种就是直接定义一个 4xx.html,表示400-499 的状态都显示这个异常页面,5xx.html 表示 500-599 的状态显示这个异常页面。默认是在 classpath:/static/error/ 路径下定义相关页面:此时,启动项目,如果项目抛出 500 请求错误,就会自动

2020-09-25 23:02:31 21

原创 SpringBoot最核心的3个注解

文章目录1. @Configuration2. @ComponentScan3. @EnableAutoConfiguration1. @Configurationorg.springframework.context.annotation.Configuration这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册@Bean用来代替 XML 配置文件里面的 <be

2020-09-25 21:20:01 42

原创 @ControllerAdvice

文章目录全局异常处理全局数据处理全局数据预处理全局异常处理使用 @ControllerAdvice 实现全局异常处理,只需要定义类,添加该注解即可定义方式如下:@ControllerAdvicepublic class MyGlobalExceptionHandler { @ExceptionHandler(Exception.class) public ModelAndView customException(Exception e) { ModelAndView

2020-09-25 20:34:54 5

原创 SpringBoot文件上传

文章目录文件上传Ajax实现文件上传多文件上传文件上传在控制层controller创建FileUploadController类@RestControllerpublic class FileUploadController { SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/"); @PostMapping("/upload") public String upload(MultipartFile fil

2020-09-25 16:47:15 13

原创 SpringBoot属性注入

文章目录普通属性注入类型安全的属性注入数组注入普通属性注入由于Spring Boot源自Spring,所以Spring中存在的属性注入,在Spring Boot中一样也存在。由于Spring Boot中,默认会自动加载application.properties文件,所以简单的属性注入可以直接在这个配置文件中写。例如,创建Book类@Componentpublic class Book { @Value("${book.id}") private Long id; @Va

2020-09-25 10:50:14 14

原创 SpringBoot中的常用注解总结

文章目录启动注解@SpringBootApplication@SpringBootConfiguration@EnableAutoConfiguration@ComponentSanController相关注解获取请求参数值注入bean相关导入配置文件事务注解全局异常处理启动注解@SpringBootApplication@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@Spring

2020-09-25 09:01:12 17

原创 SpringBoot静态资源配置

文章目录SSM中的配置SpringBoot中的配置整体规划源码解读自定义配置application.propertiesJava代码定义SSM中的配置在SSM 环境搭建中,一般来说,我们可以通过 <mvc:resources /> 节点来配置不拦截静态资源,如下:<mvc:resources mapping="/js/**" location="/js/"/><mvc:resources mapping="/css/**" location="/css/"/>&

2020-09-24 22:34:01 6

原创 SpringBoot中的JSON

文章目录JSONGSONFastjsonJSONHttpMessageConverter ,看名字就知道,这是一个消息转换工具,有两方面的功能:将服务端返回的对象序列化成 JSON 字符串将前端传来的 JSON 字符串反序列化成 Java 对象所有的 JSON 生成都离不开相关的 HttpMessageConverterSpringMVC 自动配置了 Jackson 和 Gson 的 HttpMessageConverter,Spring Boot 中又对此做了自动化配置:1.org.sp

2020-09-24 22:00:25 10

原创 JSON

文章目录JSON简介JSON语法JSON值JSON对象JSON数组JSON布尔值JSON nullJSON文件JSON使用JSON解析器JSONP教程JSON简介JSON: JavaScript Object Notation(JavaScript 对象表示法)JSON 是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析。{"employees": [{ "firstName":"John" , "lastName":"Doe" },{ "firstName

2020-09-24 10:15:28 2

原创 SpringBoot整合视图层

文章目录FreemarkerThymeleaf案例JspFreemarkerThymeleafThymeleaf 是新一代 Java 模板引擎,它类似于 Velocity、FreeMarker 等传统 Java 模板引擎,但是与传统 Java 模板引擎不同的是,Thymeleaf 支持 HTML 原型。它既可以让前端工程师在浏览器中直接打开查看样式,也可以让后端工程师结合真实数据查看显示效果,同时,SpringBoot 提供了 Thymeleaf 自动化配置解决方案,因此在 SpringBoot 中

2020-09-23 23:06:56 5

原创 Freemarker

文章目录一.Freemarker介绍Freemarker简介使用引用1.引入freemarker相关的jar2.创建freemarker变量文件3.spring-mvc配置文件中配置freemarker3.1 引入变量文件3.2 freemarker配置3.3 视图解析器配置二. ftl语法1.插值规则1.通用插值2. 数字格式化插值2.表达式直接指定值1.字符串2.数值3.布尔值4.集合5.Map对象输出变量1.顶层变量2.输出集合元素3.输出Map元素字符串操作集合连接运算符Map连接运算符算术运算符比

2020-09-23 19:58:26 17

原创 SpringBoot错误

找不到视图2020-09-23 16:01:25.852 ERROR 3580 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [index]: would dispatch back to the curr

2020-09-23 17:58:47 5

原创 SpringBoot基础配置

文章目录Banner配置更改Banner容器相关配置Spring属性注入数组注入Banner配置更改Banner在resource下创建banner.txt,输入想要更改的内容定制网站:http://patorjk.com/software/taag容器相关配置在application.properties中配置tomcat相关的内容# 修改服务器端口号server.port=8081# 修改上下文路径server.servlet.context-path=/javaboy# 配置t

2020-09-23 12:25:52 12

原创 配置文件

文章目录配置文件application.properties位置问题文件名问题yaml配置位置生产环境和上线环境配置文件application.properties在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml 。properties 文件比较常见,但是相对于 properties 而言,yaml 更加简洁明了,而且使用的场景也更多,很多开源项目都是使用 yaml 进行配置(例如 Hexo)。除了简洁,yaml 还有另外一个特点,就是 ya

2020-09-23 12:25:09 12

原创 SpringBoot简介

文章目录SpringBoot特性三种创建方式系统要求在线创建使用工具创建创建IntelliJ IDEASTSMaven 创建项目结构启动类上的注解SpringBoot中parent的理解基本功能源码分析不用parentSpringBoot特性更广泛的+快速的Spring开发体验一系列开箱即用的starter一系列非功能性的自动化配置没有XML配置文件生成三种创建方式系统要求Spring Boot 目前最新版本是 2.1.4,要求至少 JDK8,集成的 Spring 版本是 5.1.6构

2020-09-23 09:19:14 11

原创 桶排序

文章目录算法描述代码演示复杂度分析时间复杂度算法描述代码演示public static int[] findNearestNumber(int[] numbers){ //1.从后向前查看逆序区域,找到逆序区域的前一位,也就是数字置换的边界 int index=findTransferPoint(numbers); //如果数字置换边界是0,说明整个数组已经逆序,无法得到更大的相同数 //字组成的整数,返回null if(index==0){ return null; } //2

2020-09-22 12:32:43 6

原创 基数排序

文章目录算法描述代码演示复杂度分析时间复杂度空间复杂度算法描述代码演示class Radix{ public static void main(String[] args){ int arr[]={170,45,75,90,802,24,2,66}; int n=arr.length; radixsort(arr,n); print(arr,n); } //获取数组中的最大值 static int getMax(int arr[],int n){ int max=arr[

2020-09-22 12:00:48 6

原创 计数排序

文章目录算法描述代码演示复杂度分析时间复杂度空间复杂度稳定性分析算法描述计数排序是一种针对于特定范围之间的整数进行排序的算法。它通过统计给定数组中不同元素的数量,然后对映射后的数组进行排序输出即可。代码演示没有优化public static int[] countSort(int[] array){ //1.得到数列的最大值 int max=array[0]; for(int i=1;i<array.length;i++){ if(array[i]>max){ max=

2020-09-21 11:05:08 9

原创 堆排序

文章目录算法描述代码实现复杂度分析时间复杂度空间复杂度稳定性分析算法描述把无序数组构建成二叉堆,需要从小到大排序,则构建成最大堆;需要从大到小排序,则构建成最小堆循环删除堆顶元素,替换到二叉堆的末尾,调整堆产生新的堆顶代码实现/*** @param array 待调整的堆* @param parentIndex 要下沉的父节点* @param length 堆的有效大小*/public static void downAdjust(int[] array,int parentInd

2020-09-21 09:59:13 3

原创 快速排序

文章目录算法描述代码演示复杂度分析时间复杂度空间复杂度稳定性分析算法描述快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。挑选:从数列中挑出一个元素,称为“基准(pivot)”划分:将比基准元素小的元素放在基准元素的左边,将比基准元素大的元素放在基准元素的右边。递归:对小于基准元素的数列和大于基准元素的数列分别进行排序代码演示双边循环法public static void q

2020-09-21 09:03:40 7

原创 排序算法总结(Java实现)

文章目录排序算法说明排序的定义术语说明算法总结上图名词解释比较和非比较的区别比较排序非比较排序十大排序算法冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)归并排序(Merge Sort)快速排序(Quick Sort)堆排序(Heap Sort)计数排序(Counting Sort)桶排序(Bucket Sort)基数排序(Radix Sort)排序算法说明排序的定义对一序列对象根据某个关键字进行排序

2020-09-20 16:46:38 4

原创 希尔排序

文章目录算法描述过程演示代码演示复杂度分析算法描述希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。希尔排序是把记录按下表的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止

2020-09-20 16:27:39 7

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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