Oracle触发器
摘要:for each row 是针对于行级触发器的,每一行都会执行触发器 第一个触发器: /* 插入一条记录后,自动打印“成功插入一个员工” */ create or replace trigger firstTrigger after insert on emp begin dbms_output.p
阅读全文
java调用存储过程、存储函数
摘要:需要用到的接口 接口 CallableStatement JDK文档对改接口的说明: public interface CallableStatement extends PreparedStatement 用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该
阅读全文
存储过程/存储函数
摘要:区别:存储过程没有返回值, 存储函数有返回值(他们都可以通过out参数输出返回值,所以这句话到后边就不太对了) 存储过程和存储函数现在已经是一回事了,只是老版本的数据库里两者有区分,为了兼容老版本所以还分开称呼 一,存储过程 1,打印Hello World:没有参数的存储过程,名字后不带() cre
阅读全文
SQL查询排名第二名的信息
摘要:今天看见同学去面试的面试题,查询出某个字段排名第二名的信息,自己就看看 如果是Oracle ,这不就是考察Oracle分页么,以Oracle的emp表为例,根据薪水排名,查询排名第二的员工信息: select * from (select t.*, rownum rn from (select *
阅读全文
sql行转列
摘要:sql CREATE TABLE `t_merchandise` ( `FId` varchar(20) NOT NULL, `FNumber` varchar(20) DEFAULT NULL, `FName` varchar(20) DEFAULT NULL, `FPrice` int(11)
阅读全文
SELECT列表中的标量子查询
摘要:发现了一种表连接新的写法,以前还没有这样写过或者见别人写过。跟同学聊天他们公司却很多人这样写,看来真的要学学sql了 表 CREATE TABLE `t_book` ( `FId` int(11) NOT NULL, `FName` varchar(50) DEFAULT NULL, `FYearP
阅读全文
sql子查询在insert、update、delete中的应用
摘要:子查询可以应用在INSERT、UPDATE以及DELETE等语句中,合理的使用子查询将能够简化功能的实现并且极大的提高SQL语句执行的效率 用到的表: CREATE TABLE `t_readerfavorite` ( `FCategoryId` int(11) DEFAULT NULL, `FRe
阅读全文
SQL拾遗
摘要:低效的“WHERE 1=1” 加了“1=1”的过滤条件以后数据库系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(也就是全表扫描)以比较此行是否满足过滤条件,当表中数据量比较大的时候查询速度会非常慢 HAVING 语句 数据表 CREATE TABLE `t_employee`
阅读全文
SQL命令导入导出
摘要:利用cmd的操作命令导出,详情如下(备注:方法二是转载网上的教程):1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:CMSTAR = (DESCRIPTION = (ADDRESS_LIST = (AD
阅读全文
Spring Security构建Rest服务-1401-权限表达式
摘要:Spring Security 的权限表达式 用法,在自定义的BrowserSecurityConfig extends WebSecurityConfigurerAdapter 配置文件里,每一个antMatchers匹配器后,使用权限表达式。(注意hasRole在UserDetailsServi
阅读全文
Spring Security构建Rest服务-1400-授权
摘要:安全分为 认证和授权,前边讲的都是认证,现在说授权。 前端业务系统的权限简单些,一般只区分是否登录,复杂点的还会区分 VIP用户等简单的角色,权限规则基本不变。 后台系统比较复杂,角色众多,权限随着业务不断变化。 1,用代码控制简单的权限 直接在配置类 BrowserSecurityConfig e
阅读全文
Spring Security构建Rest服务-1300-Spring Security OAuth开发APP认证框架之JWT实现单点登录
摘要:基于JWT实现SSO 在淘宝( https://www.taobao.com )上点击登录,已经跳到了 https://login.taobao.com,这是又一个服务器。只要在淘宝登录了,就能直接访问天猫(https://www.tmall.com)了,这就是单点登录了。 淘宝、天猫都是一家的公司
阅读全文
Spring Security构建Rest服务-1205-Spring Security OAuth开发APP认证框架之Token处理
摘要:token处理之二使用JWT替换默认的token JWT(Json Web Token) 特点: 1,自包含:jwt token包含有意义的信息 spring security oauth默认生成的token是uuid,是无意义的,本身并不包含任何信息。这个token所包含的信息,如果用redis存
阅读全文
Spring Security构建Rest服务-1204-Spring Security OAuth开发APP认证框架之Token处理
摘要:token处理之一基本参数配置 处理token时间、存储策略,客户端配置等 以前的都是spring security oauth默认的token生成策略,token默认在org.springframework.security.oauth2.provider.token.DefaultTokenSe
阅读全文
Spring Security构建Rest服务-1203-Spring Security OAuth开发APP认证框架之短信验证码登录
摘要:浏览器模式下验证码存储策略 浏览器模式下,生成的短信验证码或者图形验证码是存在session里的,用户接收到验证码后携带过来做校验。 APP模式下验证码存储策略 在app场景下里是没有cookie信息的,请求里也就没有JSESSIONID,所以即使生成了验证码存在session里,你也接收到了验证码
阅读全文
Spring Security构建Rest服务-1202-Spring Security OAuth开发APP认证框架之重构3种登录方式
摘要:SpringSecurityOAuth核心源码解析 蓝色表示接口,绿色表示类 1,TokenEndpoint 整个入口点,相当于一个controller,不同的授权模式获取token的地址都是 /oauth/token ,通过grant_type 参数标识不同的授权类型,这个类就是判断授权类型 gr
阅读全文
Spring Security构建Rest服务-1201-Spring Security OAuth开发APP认证框架之实现服务提供商
摘要:实现服务提供商,就是要实现认证服务器、资源服务器。 现在做的都是app的东西,所以在app项目写代码 认证服务器: 新建 ImoocAuthenticationServerConfig 类,@EnableAuthorizationServer 注解就说明该项目是一个 认证服务器: @Configur
阅读全文
Spring Security构建Rest服务-1200-SpringSecurity OAuth开发APP认证框架
摘要:基于服务器Session的认证方式: 前边说的用户名密码登录、短信登录、第三方登录,都是普通的登录,是基于服务器Session保存用户信息的登录方式。登录信息都是存在服务器的session(服务器的一块内存)里 ,用户通过浏览器访问服务的时候,每一次服务器都会检查浏览器的cookie里有没有JESS
阅读全文
Spring Security构建Rest服务-1100-单机Session管理
摘要:Session失效时间: springboot配置session失效时间,只需要在application.properties里配置 #session超时时间,低于60秒按60秒server.session.timeout = 60 如果想自己定义session失效的提示信息,需要配置: @Conf
阅读全文
Spring Security构建Rest服务-0702-短信验证码登录
摘要:先来看下 Spring Security密码登录大概流程,模拟这个流程,开发短信登录流程 1,密码登录请求发送给过滤器 UsernamePasswordAuthenticationFilter 2,过滤器拿出用户名密码组装成 UsernamePasswordAuthenticationToken 对
阅读全文
Spring Security构建Rest服务-0801-短信验证码发送
摘要:实现短信验证码登录 开发短信验证码接口 校验短信验证码并登录 短信验证码和图片验证码开发思路类似: 1,我们访问一个controller 2,在controller里调用短信验证码生成接口生成验证码 3,验证码存进session 4,从请求里获取手机号,调用短信发送服务商的接口,给手机号发送短信 主
阅读全文
Spring Security构建Rest服务-0102-Spring Social开发第三方登录之qq登录
摘要:图一 基于SpringSocial实现qq登录,要走一个OAuth流程,拿到服务提供商qq返回的用户信息。 由上篇介绍的可知,用户信息被封装在了Connection里,所以最终要拿到Connection 1,Connection < ConnectionFactory:拿到一个Connection,
阅读全文
Spring Security构建Rest服务-1001-spring social开发第三方登录之spring social基本原理
摘要:OAuth协议是一个授权协议,目的是让用户在不将服务提供商的用户名密码交给第三方应用的条件下,让第三方应用可以有权限访问用户存在服务提供商上的资源。 接着上一篇说的,在第三方应用获取到用户资源后,如果过去的不是用户的自拍数据,而是用户的昵称头像等基本信息,根据这些基本信息,构建经过认证的Authen
阅读全文
Spring Security构建Rest服务-1000-使用SpringSocial开发第三方登录之大白话OAuth协议
摘要:OAuth协议简介 OAuth协议要解决的问题 OAuth协议中的各种角色 OAuth协议运行流程 OAuth协议,在网上也看了一些资料,意思就是给你颁发一个临时的通行证,你拿着这个通行证可以访问我的某些资源,不包括密码等关键信息,最常见的就是第三方登录,如qq登录,微信登录,第三方应用可以访问我们
阅读全文
Spring Security构建Rest服务-0900-rememberMe记住我
摘要:Spring security记住我基本原理: 登录的时候,请求发送给过滤器UsernamePasswordAuthenticationFilter,当该过滤器认证成功后,会调用RememberMeService,会生成一个token,将token写入到浏览器cookie,同时RememberMeS
阅读全文
Spring Security构建Rest服务-0500-异步处理rest服务
摘要:异步处理REST服务: 1,使用Runnable异步处理Rest服务 2,使用DeferredResult异步处理Rest服务 3,异步处理配置 异步处理能提高服务器的吞吐量。 一、使用Runnable异步处理Rest服务 模拟下单: package com.imooc.web.asyn; impo
阅读全文
Spring Security构建Rest服务-0800-Spring Security图片验证码
摘要:验证码逻辑 以前在项目中也做过验证码,生成验证码的代码网上有很多,也有一些第三方的jar包也可以生成漂亮的验证码。验证码逻辑很简单,就是在登录页放一个image标签,src指向一个controller,这个Controller返回把生成的图片以输出流返回给页面,生成图片的同时把图片上的文本放在ses
阅读全文
Spring Security构建Rest服务-0702-个性化用户认证流程2
摘要:登录成功后的处理AuthenticationSuccessHandler: 认证成功后,默认情况下spring security会继续访问之前访问的url,如果想自定义处理逻辑,用默认的就不行了。此时需要自定义登录成功后的处理,springsecurity提供了一个接口,Authentication
阅读全文