- 博客(29)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 redis做缓存
每当你查询数据,会先从redis里查询,发现没有这条数据再去Mysql里查询,并把结果写入redis同时设置生存时间。(保存的key含查询参数,value是结果。) 更新数据,先更新数据库,然后同步redis
2021-02-28 17:39:35 134
原创 Security配置踩坑记
Security登录认证,用户名和密码参数名默认为username和password,因我登录的密码参数名设置为userpwd,故账号密码不正确时被未登录拦截器拦截
2020-12-15 17:26:44 1583
原创 前后端分离项目部署nginx,跨域踩坑
nginx代理配置: #前端vue项目配置 location / { alias /var/vue/default/dist/; #默认访问vue静态文件目录(dist路径) index index.html; #默认访问文件 try_files $uri $uri/ /index.html; #目录不存在则执行index.html } #后端接口配置 location ^~ /...
2020-10-21 14:56:08 392
原创 vue 路由跳转,query传递参数
query传递参数是在拼接在url后面 如果传递的参数是对象,刷新页面会丢失,打印会打印出[Object,Object] 解决方法:转为json字符串传递,在显示页面再转化成对象
2020-10-13 08:49:50 658
原创 security+jwt权限验证
权限相关表:User用户表、Role角色表、Auth权限表、UserToRole用户角色关系表、RoleToAuth角色权限关系表 相关配置类:SecurityConfig继承WebSecurityConfigurerAdapter(security配置类)、JwtAuthenticationTokenFilter(登录验证filter)、RestfulAccessDeniedHandler(自定义未授权拦截器)、RestAuthenticationEntryPoint(自定义未登录拦截器)、 其他相关
2020-09-08 09:44:02 1012
原创 关于在一个类里使用@bean声明了一个bean,并在该类中注入这个bean导致报错的解决方法
给注入的bean添加@Lazy注解,使其在使用的时候再注入 @Lazy注解:懒加载,第一次使用时创建对象
2020-07-30 16:08:04 1035
原创 mybatis-plus学习笔记
条件构造器:生成where后面的条件。 alleq方法的filter过滤map中的条件是否加入sql。 多条件间的链接符默认是“and”,要用“or”需要主动调用or方法,表示该or前后的两个条件是or关系; or和and嵌套使用,or方法和and方法都传入一个新包装过的条件构造器 ...
2020-07-27 17:01:46 60
原创 for update的使用
for update 是手工加锁操作,使用方法select...for update,在mysql中,如果查询条件带有主键,会锁行数据,如果没有,会锁表。直到事务提交或回滚后为止。 例1:select * from user where name='' for update;(锁表) 例2:select * from user where id=1 for update;(锁行id=1的数据) 例3:select * from user where id=-1 for update;(id不存在,锁
2020-07-08 11:08:09 2613
原创 springboot+mybatis多数据源配置
目录结构:dao目录下放mapper类,entity目录下放实体类,resources目录下mapper目录放对应xml文件 application.yml配置 spring: application: name: blog datasource: blog: driver-class-name: com.mysql.cj.jdbc.Driver jdbc-url: jdbc:mysql://localhost:3306/blog?characte
2020-06-23 11:20:17 135
原创 vue静态资源访问
js代码 let path = require('../assets/upload/' + response.data.resultData.filename) let imgPath = path.toString() $('#img').attr('src', imgPath) 页面代码 <div><img src="" width="100px" id="img"></div>
2020-06-17 16:13:40 2104
原创 springboot+vue前后端分离项目,跨域配置
后端设置跨域: controller类上或方法上加@CrossOrigin注解 但这样设置会有问题,如果有filter过滤器,所有通过filter过滤的请求依然会有跨域问题,解决办法我并没有找到,有看到这篇文章的并且知道解决办法的麻烦您评论我一下,谢谢。 前端设置跨域:项目根目录下添加vue.config.js配置文件配置proxy module.exports = { publicPath: './', // 基本路径 outputDir: 'dist', // 输出文件目
2020-06-12 14:44:05 570
原创 批量插入防止sql过长,数据库报错
使用partition分区插入 List<Integer> datas = new ArrayList(); List<List<Integer>> partitionList = Lists.partition(datas,255); for(List<Integer> data : partitionList){ //插入操作 }
2020-06-08 11:47:37 500
原创 倒序输出数组
int[] nums = {1,2,3,4,5,6,7}; StringBuffer stringBuffer = new StringBuffer(); for(int i : nums) stringBuffer.append(i); stringBuffer.reverse(); for(int i=0;i<nums.length;i++) nums[i] = Integer.parseInt(stringBuffer.substring(i,i+1));
2020-06-08 10:57:01 839
原创 redisUtil工具类
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; /** * redis操作工具类.</br> * (基于RedisTem.
2020-06-05 17:21:52 243
原创 jwt生成token配置类
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.Date; /*.
2020-06-05 17:19:38 1678
原创 springboot接口类示例
import com.alibaba.fastjson.JSONObject; import com.wgs.blog.config.JwtConfig; import com.wgs.blog.entity.ResultData; import com.wgs.blog.entity.UserDo; import com.wgs.blog.service.UserService; import com.wgs.blog.utils.RedisUtil; import com.wgs.blog.uti.
2020-06-05 17:16:23 550
原创 Swagger配置类-V2.9.2
import io.swagger.annotations.Api; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelecto.
2020-06-05 17:13:50 1166
原创 python学习笔记-函数-2019/12/20
1.不定长参数函数:参数名前面加‘*’号,表示不定参数 def Indefinite(arg0,*args):pass 2.匿名函数:用lambda创建 max = lambda num0,num1 : num0 if num0>num1 else num1 python中的三目运算:true结果 if 表达式 else false结果 ...
2019-12-20 15:40:26 83
原创 匿名内部类 的参数
public abstract class AnonymousInnerClass { public abstract void output(); } public class lll { public static void main(String[] args) { T1 tt = new T1(); AnonymousInnerClass aic = tt.
2017-07-11 10:54:14 796
原创 10进制转换为k进制和k进制转换为10进制
10->k: 用10进制的数对k取余数,再用得到的商继续对k取余,知道得到的商为零,将依次得到的余数倒叙排列即为得到的k进制的数。 k->10: 用k进制的数上的各位数字乘以相应的k的次方后相加,个位数上的数字乘以k的0次方,十位数上的数字乘以k的1次方,以此类推。
2015-01-16 20:07:35 1535
原创 sprintf的应用
sprintf()格式为sprintf((字符数组)s," 格式符(例%d)",(前面格式对应的自变量)a);意思是把a按格式赋给数组s。 例: int i=0,a=48512; char b[100]={0}; sprintf(b,"%d",a); while(b[i]) { printf("%c\n",b[i++];); } 样例输出为: 4 8 5 1 2
2015-01-12 20:10:20 277
业务逻辑层和界面层该怎么写?有点弄不清楚,分不明白, 不好意思,刚才发错了
2017-09-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人