SpringBoot 2.x之使用Redis
网上大多数资料都是基于SpringBoot 1.x版本的,找了很多资料才适合基于2.x版本SpringBoot的redis整合。
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starte
Mybatis中注解版的Mapper获取参数值以及如何模糊查询
@Mapper
public interface UserMapper {
@Select("select * from User")
public List<User> retrieveAllUsers();
//注意这里只有一个参数,则#{}中的标识符可以任意取
@Select(&amp
Mybatis分页插件pagehelper 5.1.2遇到的问题
如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
我在做项目时在Mybatis配置xml中配置拦截器插件如下:
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包...
Java并发编程 - 常用容器(ConcurrentHashMap, ConcurrentLinkedQueue)
ConcurrentHashMap的实现原理与使用
传统的HashMap不是线程安全的, 所以多线程进行put()和get()操作的时候可能会引发问题.
还有一个叫做HashTable的数据结构, 它使用的是synchronized来保证线程安全, 但是效率很低, 因为不能并发读.
ConcurrentHashMap采用的是锁分段技术, 将数据分成一段一段存储, 然后给每一段数据配一把锁,...
Java基础之异常(Exception)
异常,是Java中非常常用的功能,它可以简化代码,并且增强代码的安全性。本文将介绍一些异常高级知识,也是学习Java一来的一次总结。包括以下内内容:
异常的基础知识
异常特点
异常误用
如何正确地使用异常
异常的实现原理
关于异常
异常机制,是指程序不正常时的处理方式。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。
...
上传图片到七牛云(前端和后端)
在开发项目的时候,经常会用到上传图片的功能,如果把图片全都存放在项目路径下,会导致项目越来越臃肿,因此可以考虑把图片上传交给第三方处理,此处采用七牛云进行图片存储。
经过测试,通过七牛云获取图片确实比直接通过自己的服务器获取的速度要快得多,赶快去注册七牛云吧。
上传图片的方式有两种:
通过服务器,将文件传到服务端,由服务端上传到七牛云
通过前端js,将文件直接上传到七牛云
两种方式都可...
hibernate与jdbc的区别(简略)
今天看了看老师给的项目,其中的对数据的查询跟我想象中的不一样,所以就找了一些资料,大概清楚了这是个啥东西
就当做笔记吧
hibernate:面向对象的对象关系映射框架
HQL:Hibernate Query Language,Hibernate查询语言;
SQL:Structured Query Language,结构化查询语言;
面向对象
hql:面向对象查询;
sql:面向数...
大白话讲数据结构和算法__09 线性表的链式存储结构:循环链表
对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。
也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点。
这样的话,如果不从头结点出发,就无法访问到全部结点。
事实上要解决这个问题也并不麻烦,只需要将单链表中终端结点的指针端由空指针改为指向头结点,问题就结了。
将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表成...
SQL注入总结(五)
常见的搭建组合:
脚本格式
数据库
搭建品台
操作系统
Asp
Access,SqlServer
IIS
Windows
Php
Mysql,postsql
Apache,I...
自己对于@Valid使用的理解
写好OrderFrom表单类
类似这种
*/
@Data
public class OrderForm {
/**
* 买家姓名
*/
@NotEmpty(message = "姓名必填")
private String name;
/**
* 买家手机号
*/
@NotEmpty(message = "手...
java之面向对象三大特性的总结
java中面向对象的三大特性:封装、继承、多态
封装
把抽象的数据和对数据的操作封装在一起, 隐藏变量的实现细节 。数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行访问。
1、原则
将不需要对外提供的内容都隐藏起来
把属性都隐藏,提供公共方法对其访问
2、好处
将变化隔离
便于使用
提高重用性
提高安全性
class FengZhuang...
HDU 6356 Glad You Came(st表/线段树/单调队列)
题目链接
题意:
Let the i-th result value of calling the above function as The i-th operation of Steve is to update aj as vi if , where
一开始给你一个序列a,里面全是0,然后有m次操作,每次操作给你[l,r],v,更新[l,r]区间,将所有区间内小于v的元素都改...
【PTA】爬动的蠕虫
7-46 爬动的蠕虫(15 分)
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
输入...
关于display:flex布局的用法
关于display:flex布局,有人了解颇深,我也是看着别人的东西学习的。
display:flex的布局是什么、基本概念之类的我根本就不了解,只会用。每次看到概念之类的东西,我都是扫一眼就过去。
第一个属性和用法:flex-direction
我了解的方法有4个:row(水平排列)、row-revese(水平反向排列)、column(垂直排列)、column-reserve(垂直反向排列)
...
关于Marginalization的理解
Marginalization的在好多地方都出现过,概率里面,g2o,MSCKF,DSO等等
还记得本科低年级线性代数课里面解一个线性方程组的方法么。就是把一个矩阵三角化后,最下面那个方程就只和一个变量有关了。算出这个变量后,再一次带入其他方程,把其他变量的值求出来。
先抛开纯粹的边缘概率密度,其他几个地方的Marginalization都发生在解线性方程组中。所以这里的Marginaliza...
C++ primer 第六版 第八章编程练习
//1.
#include<iostream>
using std::cout;
using std::endl;
void ShowStr(const char *,int n = 0);
void PrintStr(const char *);
int main()
{
char str1[] = &q
celery定时任务踩坑
新添加定时任务之后,需要重启一下celery的beat和work, 新增的任务才能生效。目前celery没有提供动态添加定时任务的接口
celery 添加定时任务有2中途径,一种是在项目的配置文件中,一种是在模块的task.py文件中。这两种方式都需要显示的添加定时任务。如果想用信号触发自动添加定时任务,定时任务添加不成功
task.py
def get_tasks():
tas...
Mysql的合,交,并,差集
UNION [ALL] (并,合集)
首先我们简单说下合集和并集,这两个没多大区别,对于A,B两个集合合起来的数据就叫合集,并集就是合起来的数据中重复的不要,分别对应关键字UNION ALL和UNION
eg:SELCT id FROM t1 UNION SELECT id FROM t2
说明几点:
对于union的前部分查询和后部分查询不能有GROUP BY,ORDER BY等字段,只...
Python 迭代器------划重点:Iterable ,Iterator 的区别
迭代器
迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
1. 可迭代对象
以直接作用于 for 循环的数据类型有以下几种:
一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等;
一类是 generator ,包括生成器和带 yield...
今日推荐
周排行