- 博客(24)
- 收藏
- 关注
原创 使用mybatis操作oracle数据
mapper.xml<!--批量插入--><insert id="insert" parameterType="java.util.List"> INSERT INTO exam(empId,empName,insuredType,beginDate,status,maxDate,insuredOrg) <foreach item="item" collection="list" separator="UNION ALL" >
2020-12-25 18:15:52 2420
原创 Mybatis的救赎之路
注解@Param:可以为前端传来的参数赋别名,sql查询中直接使用别名就可以java代码实例://前端form表单的传过来的变量名为nameList<PreSelDict> queryInfo(@Param("info") String name);//mapper接口//mapper.xml中的sql语句 <if test="info!=null and info!=''"> and name like '%'||#{info}||'%'
2020-09-28 16:20:45 182
原创 redis位图(Bitmap)
简介位图实质是对字符串类型进行更细致的划分,在比特位上进行操作操作,字符串的最小单位为字符,而位图的最小单位是比特。位图的存储是按照操作系统从低位到高位存储(从右向左)语法命令 1. setbit key_name offset value--对指定的偏移量的比特位进行设值; --offset为偏移量,以0为基准。也可以把offset看做操作位的下标(以下相同); 2. getbit key_name offset --获取指定的偏移量的比特位的值; 3. bitcount key_na
2020-08-17 14:58:07 271
原创 springboot对从数据库中获取的数据进行树形结构解析并返回json格式
这里只写出service实现类中的主要业务逻辑,基于从数据库中成功获取数据上进行操作,若想获取全部源码,可以私信我.实体类package com.yang.treedata.project2.entity;import java.io.Serializable;import java.util.ArrayList;import java.util.List;public class Disease implements Serializable { private Integer
2020-08-12 11:01:06 2915 8
原创 pgsql遇到的问题
导入sql执行脚本时自增序列不存在问题解决方案 1. 新建一个查询,执行 CREATE SEQUENCE IF NOT EXISTS XXXX_id_seq 语句,创建自增序列; 2. 在 DEFAULT nextval('XXXX_id_seq'::regclass) NOT NULL 语句''中添加"" --例如:DEFAULT nextval('"XXXX_id_seq"'::regclass) NOT NULL...
2020-08-07 23:24:49 1108
原创 pgsql学习与总结
实现树状查询--创建表CREATE TABLE province(id int4 NOT NULL,pid int4 NOT NULL,name VARCHAR(32) NOT NULL,PRIMARY KEY (id) );--插入数据insert into province (ID, pid, NAME)values (1,0,'山东');insert into province (ID, pid, NAME)values (2,1,'菏泽');insert into provin
2020-08-07 12:00:28 672
原创 oracle学习与总结
--向可以为null的字段插入数据时,插入null与省略的结果是一样的--类型为char或者varchar类型的字段插入空字符串显示为空白insert into emp1 values (1,'李四',null)insert into emp1 values (2,'李四')insert into emp1 values (3,'')显示结果一条语句插入多条数据--oracle语法insert allinto dept(deptno,dname,loc) values(60,'CHEN
2020-08-07 11:59:52 223
原创 Vue.js学习与总结
简介 1. 当导入vue依赖包后,在浏览器的内存中,就会有一个Vue构造函数 //想深入了解vue构造函数的可以去看Vue源码 2. 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的 3. MVVM架构 M--data:用来保存页面数据 VM--new出来的vue对象,就是MVVM中的调度者 V--vue实例所控制的元素的区域Vue常用属性 1. el:为当前vue实例提供挂载元素,该元素覆盖的范围都被vue操控 2. data:向el中被操控的属性
2020-07-23 10:43:54 475
原创 单向链表的定义以及基本操作
简介 单向链表的特点 1. 链表是一种在物理存储上非连续,非顺序的存储结构. 2. 连接方向是单向的. 3. 访问链表要从头部顺序读取. 4. 是由一个个节点组装而成的. 5. 每个节点都有类似指针的变量指向链表下一个节点.定义链表Java中我们需要自己定义一个链表的类来生成对象,这个类需要有一个存储数据的数据域和一个存储下一个节点地址的指针域,因此,我们至少定义两个属性。class ListNode { int id; int val; Lis
2020-07-13 03:33:39 608
原创 redis开发中常见问题以及解决方案
穿透生成原因缓存穿透是在指查询一定不不存在的数据时,由于当缓存不命中时需要从数据库中查询,查询不到数据则不写入缓存,这将导致每次请求这个不存在的数据时都要去数据库中查询解决方案 1. 在持久层查询不到数据就向redis中缓存空结果,查询时先判断是否exists(key),如果有直接返回空,如果没有则查询后返回 2. 当insert时需要清除查询的key,否则即便DB中有值也查询不到(也可以为空缓存设置过期时间) ---在传参的URL中进行加密雪崩缓存雪崩:缓存大量失效时,引发大量
2020-07-10 11:41:48 650
原创 redis缓存与数据库一致性
实时同步对强制性要求比较高的,应采用实时同步方案,先查询缓存若查询不到再去DB中查询,然后保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。 1. @Cacheable:查询时使用,注意Long类型需要转化为String类型,否则会抛弃异常 2. @CachePut:更新时使用,一定回车从DB中查询数据 3. @CacheEvict:删除时使用 4. @Caching:组合用法异步队列(流量削峰)对于并发程度高的,可采用异步队列额方式
2020-07-10 10:44:42 166
原创 redis持久化策略
简介 1. redis持久化存储支持两种方式:RDB和AOF;RDB一定时间存储文件,AOF默认每秒去存储历史命令 2. redis需要经常将内存中的数据同步到银盘来保证持久化RDB 1. rdb:redis database 2. 核心函数:rdbSave(生成rdb文件),rdbLoad(从rdb文件中加载进内存) 3.redis 默认的持久化机制 3. 快照是默认的持久化方式,默认文件名为dump.rdb --快照保存数据快,还原数据快,适用于灾难备份 --小内存机器不适
2020-07-10 09:54:01 178
原创 redis事务及常用命令
简介redis事务可以一次执行多个命令(一组命令)--命令按串行化执行,执行中不会被其他命令插入,不许加塞) 1. 批量操作在发送exec命令前被放入队列缓存 2. 收到exec执行命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行 3. 在事务执行过程中,其他客户端提交的命令请求不会插入到事务执行命令序列中 4. 不支持事务回滚常用命令 1. discard--取消事务,放弃执行事务快块内的所有命令 2. exec--执行所有事务块内的命令 3. multi--标记一
2020-07-10 09:16:12 1434
原创 redis发布与订阅
简介redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息redis客户端可以订阅任意数量的频道常用命令订阅: 1. subscribe channel[channel1 channel2..]--订阅给定的一个或多个频道的信息 2. psubscribe pattern[pattern1 pattern2..]--订阅一个或多个符合给定模式的频道发布: 1. publish channel message--将消息发送到指定频道
2020-07-10 07:37:08 147
原创 查询字符串中数据递减的最长字符串
import java.util.*;/** * Description: * date: 2020/7/7 22:55 * * @author Crille-g * @version 1.0 */public class StrTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StrTest strTest = new StrTe
2020-07-07 01:30:58 186
原创 Springboot整合lettuce并优化代码
优化前添加pom依赖<!-- 默认是lettuce客户端--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency><!-
2020-07-06 07:13:45 2046
原创 springboot整合jedis
添加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>修改yml文件(redis中没设置密码)server: port: 8080spring: redis: port: 6379# password: host: 192.168.214.12
2020-07-04 21:01:43 307
原创 redis中key命令以及应用场景
key命令keys * :返回满足的所有建,可以进行模糊匹配;exists key :判断是否存在指定的key,存在返回1,不存在返回0;expire key second:设置key的过期时间,单位为秒;---到时间redis会自动清除del key:删除指定的key;pexpire key milliseconds:修改key的过期时间;---时间单位为毫秒ttl key:返回key的剩余时间;当key没有设置生存时间时,返回-1;当key不存在时返回-2;persist key:取消过期
2020-07-04 00:04:14 210
原创 redis启动与关闭
一. 非正常关闭(断电。强制关闭)-----非正常关闭数据容易丢失kill强制关闭:kill -9 PID二. 正常关闭-----正常关闭数据将会保存在客户端使用shutdown命令关闭服务端
2020-07-03 22:50:35 378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人