面试小记2

sql语句:

求交集:SELECT * FROM table1 AS a JOIN table2 AS b ON a.name =b.name 


shiro:

认证过程:

1、通过ini配置文件创建securityManager

2、调用subject.login方法主体提交认证,提交的token

3、securityManager进行认证,securityManager最终由ModularRealmAuthenticator进行认证。

4、ModularRealmAuthenticator调用IniRealm(给realm传入token) 去ini配置文件中查询用户信息

5、IniRealm根据输入的token(UsernamePasswordToken)从 shiro.ini查询用户信息,根据账号查询用户信息(账号和密码)

         如果查询到用户信息,就给ModularRealmAuthenticator返回用户信息(账号和密码)

         如果查询不到,就给ModularRealmAuthenticator返回null

6、ModularRealmAuthenticator接收IniRealm返回Authentication认证信息

         如果返回的认证信息是null,ModularRealmAuthenticator抛出异常(org.apache.shiro.authc.UnknownAccountException

         如果返回的认证信息不是null(说明inirealm找到了用户),对IniRealm返回用户密码 (在ini文件中存在)

         和 token中的密码 进行对比,如果不一致抛出异常(org.apache.shiro.authc.IncorrectCredentialsException


授权过程:

1、对subject进行授权,调用方法isPermitted"permission"

2SecurityManager执行授权,通过ModularRealmAuthorizer执行授权

3ModularRealmAuthorizer执行realm(自定义的Realm)从数据库查询权限数据

调用realm的授权方法:doGetAuthorizationInfo

 

4realm从数据库查询权限数据,返回ModularRealmAuthorizer

5ModularRealmAuthorizer调用PermissionResolver进行权限串比对

6、如果比对后,isPermitted"permission"realm查询到权限数据中,说明用户访问permission串有权限,否则 没有权限,抛出异常。


hibernate跟mybatis区别:

1.mybatis学习门槛低与hibernate,时间成本低

2.mybatis的sql语句根据自己需求编写,灵活性高于hibernate

3.MyBatis由于所有sql都是依赖数据库书写的,所以扩展性、迁移性比较差。

   Hibernate与数据库具体的关联在XML中,所以HQL对具体是用什么数据库并不是很关心。


jdbc原生开发:

1.注册驱动

2.获取连接

3.创建sql语句对象

4.执行sql语句,有结果集处理结果集

5.释放资源



jdk常用类:

String:

charAt(int index)
compareTo(String anotherString)
compareToIgnoreCase(String str)
concat(String str)
contains(CharSequence s)
endsWith(String suffix)
replace(char oldChar, char newChar)
startsWith(String prefix)
toCharArray()
indexOf(int ch)
Date:
compareTo(Date anotherDate)
setTime(long time)

Math:

pow(double a, double b)
ceil
floor
round 
max 
min 
random








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值