自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot系列——Spring Data JPA(超全)

文章目录1. Spring Data JPA、JPA和Hibernate的关系2. 相关依赖3. 配置数据库连接和JPA4. 创建数据表5. 创建实体类6. 创建操作数据库的Dao接口6.1 JPA自带方法实战7. 使用JPQL查询8. 使用SQL查询9. 方法名命名规则查询10. Specification动态查询条件查询条件+排序查询条件+分页查询1. Spring Data JPA、JPA和Hibernate的关系关于这三者的关系网上已经有很多解释了,我就简单说一下吧。JPA是一套规范(提供统一

2020-05-22 11:29:29 805 1

原创 mybatis-generator插件的用法介绍

mybatis-generator是一款在使用mybatis框架时,根据我们的数据库表,自动生成对应model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间,接下来我们来了解它的用法。文章目录在pom.xml中添加插件配置generatorConfig.xml文件使用命令执行插件在pom.xml中添加插件<plugins> <plugin>...

2020-03-24 12:03:29 432

原创 SpringBoot配置文件全部属性汇总

#服务器HTTP端口。server.port = 8080#用于Server响应头的值(如果为空,则不发送头)server.server-header = #是否应将X-Forwarded- *标头应用于HttpRequestserver.use-forward-headers = #Servlet context init参数server.servlet.context-param...

2020-03-20 21:10:40 2206

原创 Maven依赖冲突

主要记录一下maven版本依赖的知识,mark几篇好笔记:在项目pom.xml同目录下打开cmd,执行mvn dependency:tree -Dverbose重新看待Jar包冲突问题及解决方案Maven 解决jar包冲突的原理dependencies与dependencyManagement的区别pom中的optional元素是什么?...

2020-03-20 13:42:02 195

原创 从0开始使用阿里云部署Java网站

阿里云部署主要步骤:申请阿里云服务器搭建环境发布项目域名解析这里我们可以参考一篇手记阿里云部署Java网站接下来我们对篇手记进行补充说明mysql修改密码密码设置的时候我们会发现,密码必须包含数字字母符号,但是我们可以通过两个语句修改默认密码配置:// 修改validate_password_policy参数的值mysql> set global validate...

2020-03-19 20:25:42 241 1

原创 properties配置文件的加密

要完成properties属性文件某些属性值的加密,和读取属性文件时进行解密,需要4个步骤编写加密解密工具类手动通过加密解密工具类获得加密后的属性值密文,并把密文填写在properties文件中编写PropertyPlaceholderConfigurer的子类,重写convertProperty()方法在spring-dao.xml配置文件中配置PropertyPlaceholderC...

2020-03-17 00:12:45 1383

原创 logback日志的使用

catalina.home和catalina.base区别catalina.home和catalina.baseTomcat解惑 之 CATALINA_HOME与CATALINA_BASEcatalina.home指向公用信息的位置,就是bin和lib的父目 录。catalina.base指 向每个Tomcat目 录私有信息的位置,就是conf、logs、temp、webapps和work...

2020-03-05 21:19:27 500

原创 SpringMVC接收复杂对象和多个文件(前端使用JQuery)

前言这里我先说一下标题中描述的复杂的对象是什么?就是一个对象的成员变量不仅包含基本类型的成员变量(int),也包含自定义类成员变量(UserCategory)。如果SpringMVC只是接收复杂的对象这一个参数,那我们有很多种办法来处理这种情况,可以看看我前面写的文章(springmvc参数传递——基本数据类型和复杂对象)。但这里我们要提到的是同时接收复杂的对象和多个文件。将要使用的类和配置...

2019-12-21 16:19:18 2213

原创 SpringMVC参数传递——基本数据类型和复杂对象

前言本文主要记录SpringMVC如何接收前台传过来的基本数据类型和对象,以及可能出现的组合。在了解下面参数如何传递前先记住两个结论:当Ajax以application/x-www-form-urlencoded编码格式上传数据,必须使用JSON对象传递数据,后台需要使用@RequestParam 或者HttpServletRequest来接收数据当Ajax以application/js...

2019-12-01 14:45:16 2841

原创 SpringMVC参数的传递——接收List数组类型的数据

前言本文主要是记录SpringMVC中当前台传过来数组的时候,如何把前台传过来的数据封装到Controller层方法的形参中。在了解下面参数如何传递前先记住两个结论:当Ajax以application/x-www-form-urlencoded编码格式上传数据,必须使用JSON对象传递数据,后台需要使用@RequestParam 或者HttpServletRequest来接收数据当Aja...

2019-12-01 14:39:41 1988

原创 Kaptcha工具和手动实现验证码功能

KaptchaKaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如:验证码的字体验证码字体的大小验证码字体的字体颜色验证码内容的范围(数字,字母,中文汉字!)验证码图片的大小,边框,边框粗细,边框颜色验证码的干扰线验证码的样式(鱼眼样式、3D、普通模糊、…)使用它需要在工程中导入.jar包,下载地址https://code.google.com/archi...

2019-11-29 22:54:45 627

原创 文件上传——commons-fileUpload

文件上传什么是文件上传将本地磁盘文件通过IO写入到服务器的过程文件上传的技术Servlet3.0JSPSmartUploadFileUpload(这个是通用的技术,不像前面两个需要对应引擎的支持,依托于环境)框架(其实框架中的文件上传技术就是FileUpload技术的封装)文件上传的三要素表单的提交方式必须为POST表单中需要有文件上传表单项,必须有na...

2019-11-29 22:47:58 380

原创 使用js向后台发送数据,并且使用postman四种发送数据的方式进行模拟(前后端分离)

postmanPostman是一款功能强大的网页调试与发送网页HTTP请求的软件,能模拟前端请求的发送对于postman发送请求的方式,有下图的这几种(下面我们主要挑四个常用的说说)1.form-data就是我们上传文件时使用的multipart/form-data,它将表单的数据组织成Key-Value形式,用分隔符boundary将表单的数据处理成一条消息。这种方式的数据发送,所以既...

2019-11-29 22:38:07 1964

原创 MyBatis添加大量数据如何选择(性能的比较)

基于 MySQL数据库对批量数据插入的支持下面是把多条插入语句进行拼接,一起执行语句,同时插入大量数据/*UserDao接口类*/ /** * 批处理添加用户 * @param users */ void addUser(@Param("users") List<User> users);<!--userDao.xml配置--&g...

2019-11-28 13:24:52 544

原创 MyBatis参数传递

传递单个参数的形式MyBatis会自动进行参数的赋值<select id="findUserById" resultType="user" parameter="int"> <!--这里的#{id}里面的参数可以随便写,只起占位符的作用--> select * from user where id=#{id}</select>传递多个参数...

2019-11-28 13:06:28 308

原创 模板引擎FreeMarker的介绍和使用

模板引擎模板引擎的目标是“数据+模板=结果”模板引擎将数据与展现有效的“解耦”前端只需要知道怎么编写前端,后端只需关注后端,用模板引擎把两者整合主流的模板引擎Java Server Page(jsp)FreeMarkerBeetl(拥有前两者的优点,但是作为新的模板,还未普及,前面两个更常用)FreeMarker和JSP只要不是开发淘宝、京东这样的大型软...

2019-11-26 15:08:05 1121

原创 json和fastjson的使用

JSONJavaScript Object Notation(JavaScript对象表示法)JSON是轻量级的文本数据交换格式JSON独立于语言,具有自我描述性,更易理解JSON用于数据的保存和传输语法数据由键(key)/值(value)描述,由逗号分隔大括号代表一个完整的对象,其中可以拥有多个键/值对中括号保存数组,多个对象之间使用逗号分隔键值除了数字都要...

2019-11-26 15:00:58 142

原创 正则表达式

什么是正则表达式正则表达式是检查、匹配字符串的表达式正则表达式是描述规则,主流语言都有良好的支持字符串校验、查找与替换是正则表达式主要使用场景匹配方法只能一个一个字符进行校验和匹配如果是字符串的校验,一般都会用全字匹配(用^和$包裹)如果是查找,比如说字符串acacacacac,正则表达式为acac,则会匹配到两个acac(第一个是0-3,第二个是4-7)匹配单个中文可以用[...

2019-11-26 14:49:53 208

原创 监听器

监听器监听对象监听ServletContext、HttpSession 和ServletRequest等域对象的创建和销毁,以及他们属性修改发生的变化事件,监听器可以在事件发生前后进行一些必要的处理操作。web监听器是Servlet规范定义的一种特殊类。监听器的应用场景统计在线人数和在线用户每一个用户第一次访问服务器上的web应用时都会产生一个Session会话,通过统计Sessi...

2019-11-26 14:43:46 158

原创 javaweb——过滤器

过滤器作用​ 实现对web资源请求的拦截,完成特殊的操作,尤其是对请求的预处理。应用场景Web资源权限访问控制字符集编码处理内容敏感字符词汇过滤响应信息压缩工作流程过滤器的生命周期过滤器的创建和销毁由web服务器负责web应用程序启动时,web服务器创建Filter的实例对象 ,以及对象的初始化。(调用init()方法,这个方法只在tomcat服务器启动的时候调用...

2019-11-26 14:39:34 332

原创 springmvc请求转发和重定向(携带参数和不携带参数)

请求转发的三种方式SpringMVC请求转发区别于重定向,请求转发地址栏不会发生改变、只发送一次请求、能携带原有的参数,但只可以在同一个服务器中进行转发。传统的请求转发@RequestMapping("/forwardCommon")public forwardCommon(HttpServletRequest request,HttpServletResponse response...

2019-11-25 22:10:42 8507 3

原创 获得classpath和当前类下资源绝对路径的一些方法

1.**FileTest.class.getResource("")**得到的是当前类FileTest.class文件的URI目录。不包括自己!如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/com/test/2.FileTest.class.getResource("/")   得到的是当前的classpath的绝对URI路径...

2019-11-03 17:35:11 901

原创 从JDBC基础到C3P0的使用看这一篇就行了——基于MySQL8.0(完整版)

JDBC在mysql8.x上的使用jdbc下载地址mysql8.0和之前版本的区别,首先驱动换了,不是com.mysql.jdbc.Driver而是com.mysql.cj.jdbc.Driver5.5版本的注册Class.forName(com.mysql.jdbc.Driver());8.x版本的注册Calss.forName(com.mysql.cj.jdbc.Driver...

2019-08-08 14:35:51 269

原创 【数据结构与算法(三)】链表

链表(Linked List)数据存储在”结点“(Node)中优点:不用像动态数组/栈/队列那样依托于数组,依靠resize()来“动态”管理容量。真正的动态,不需要处理固定容量的问题。缺点:丧失了随机访问的能力。普通链表主体public class LinkedList<E> { /** * 定义私有内部类,外界不能直接访问。因为用户不需要...

2019-06-30 19:29:01 144

原创 【数据结构与算法(二)】栈和队列

栈Stack(LIFO)后进先出(last in first out)主体public class Stack<E> { private E data[]; private int size; public Stack(int capacity){ data=(E[])new Object[capacity]; siz...

2019-06-30 19:16:36 191

原创 【数据结构与算法(一)】动态数组

时间复杂度分析O(1),O(n),O(lgn),O(nlogn)等表示时间复杂度大O描述的是算法的运行时间和输入数据之间的关系O(n)表示时间复杂度和n成线性关系O(n)时间复杂度优于O(n*n),这里比较的是渐进时间复杂度,即描述的是n趋近于无穷的情况动态数组优点是支持随机访问,能快速查询,动态数组最好用于索引有语意的地方。主体public class A...

2019-06-30 19:11:49 176

原创 PAT乙级1005: 继续(3n+1)猜想

题目:解题思想:把输入的数列保存到m中,把每次被覆盖数放在v中,把关键数放在mkey中。每次检验m中第一个数,把得到的被覆盖数保存在V中,再把m和mkey中和v中相同的数字删除。 题解:#include&lt;iostream&gt;#include&lt;map&gt;#include&lt;vector&gt;using namespace std;int m...

2018-10-07 20:52:41 197

原创 PAT乙级1003: 我要通过

题目:解题思路:用map来保存每个元素出现的次数 ,本题的要点是找规律,找到aPcAc(其中abc可以是空字符串或者只包含A的字符串,并且a的个数*b的个数=c的个数)题解:#include&lt;iostream&gt;#include&lt;map&gt;using namespace std;int main(){// freopen("D://test....

2018-10-07 20:29:03 302

原创 PAT乙级1007:素数对猜想

题目:解题思路: 把不超过N的素数全部保存在容器中,再验证相邻素数的差值是否为2.题解:#include&lt;iostream&gt;#include&lt;vector&gt;using namespace std;int main(){ int n,cnt=0; cin&gt;&gt;n; vector&lt;int&gt; v; for(int i...

2018-10-07 20:10:22 159

原创 PAT乙级1080: MOOC期终成绩

题目:解题思想:    题目上有一句“必须首先获得不少于200分的在线编程作业分”,这是解题的关键,所以我们首先要排除编程分少于200的(只有编程成绩不少于200的人的信息才要记录)。因为一开始只能读入编程成绩,所以还没读入的成绩保存为-1(也正好符合题目上说的)。顺便把(学号-下标)保存到map容器中(为了添加其他成绩的时候能直接判断该同学的编程成绩是否合格和直接通过下标来更新他的...

2018-10-06 21:22:21 425

转载 C++标准模板库(STL):常用算法

find()     ---algorithm中的函数find(start,end,value)start搜寻的起点,end搜寻的终点,要寻找的value值容器的表示方法(只有vector没有内置find()函数,其他容器都有,其他容器用自己的find()函数)find(a.begin(),a.end(),value)数组的表示方法find(a,a+length,...

2018-10-06 13:57:39 497

原创 C++标准模板库(STL):set/multiset和map/multimap

set/multiset(包含在set头文件中)和map/multimap(包含在map头文件中)都是关联型容器。   关联型容器内部实现为一个二叉树,在二叉树中,每个元素都有一个父节点和两个子节点,左子树的所有元素都比自己小,右子树的所有元素的比自己大。正因为用了二叉树,使得它可以高效地查找容器中的每一个元素,但却不能实现任意位置的操作。map 、multimap(映射和多重映射)...

2018-10-05 22:46:49 394

原创 C++标准模板库(STL):vector、deque和list

之所以把这几个容器写在一起,是因为他们都是序列式容器。序列式容器以线性序列的方式存储元素(线性结构)。它没有对元素进行排序,元素的顺序和存储它们的顺序相同。以下有几种标准的序列容器,每种容器都具有不同的特性:vector&lt;T&gt;(向量容器)是一个长度可变的序列,用来存放 T 类型的对象。必要时,可以自动增加容量,但只能在序列的末尾高效地增加或删除元素。 deque&lt;T&...

2018-10-05 20:35:58 301

转载 C++的一些用法

写这篇博客纯属是为了PAT,在平常练习中遇到一些关于C++使用上的问题,在这里Mark一下,避免忘记。DevC++怎么才能支持C++11特性      https://blog.csdn.net/u011500062/article/details/44628441(更改一些设置)其实测试用例不用自己输入,完全可以从文件中读出,大大节约时间       只需添加下面代码就行(freop...

2018-10-05 14:33:02 136

原创 PAT乙级1002:写出这个数

题目:题解:#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ string str; cin &gt;&gt; str; int sum = 0; string str1[10]={ "ling","yi","er","san","si&

2018-10-05 10:49:37 160

原创 (PHP+MySQL)把图片上传到服务器指定位置,并且把图片路径插入到数据库中,最后读出图片(各种编码)

编码问题最终是要使web端、PHP、mysql存储以及他们之间传输的编码一置。编码:https://www.cnblogs.com/happyday56/p/4135845.html                   https://blog.csdn.net/ai_xao/article/details/79051534 UTF-8和UTF8的区别        UTF-8...

2018-09-17 09:52:37 11370 11

转载 web-css-(float和clear)

教程开始:首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流。如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为div元素是独占一行的。注意,以上这些理论,是指标准流中的div。小菜认为,无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”。显然标准流已经无法满...

2018-09-06 21:47:57 309

空空如也

空空如也

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

TA关注的人

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