最近看了些 MyBatis 的源码,虽说不是很深入但是也对 MyBatis 的查询的执行流程有了整体的了解。本文将会从 selectOne 方法开始一直追溯到 JDBC 的访问数据库,来看一看 MyBatis 到底做了什么,简单的对 MyBatis 的查询接口有个简单的整体的了解。

文本会以 MyBatis 源码为主,不考虑 Spring 的封装。

Spring Security 作为安全框架包含类两大核心的模块:认证与鉴权。在前两篇文章中展现了 Spring Security 中的认证模块一些内容,紧接着这篇文章会将目光放到 Spring Security 的鉴权模块中。介绍一下在 Spring Security 中如何使用鉴权功能。

那接下来就看一看在 Spring Security 中如何实现基于角色的访问控制吧!

本文配套的示例源码: https://github.com/lxiaocode/spring-security-examples

在 Spring Security 默认配置中,Spring Security 会为我们提供一个默认用户 “user”,以及在项目启动时会为这个用户生成一串 UUID 字符串密码。但是在实际的项目中,都是在我们的数据库中获取用户信息来进行登陆的。所以在 Spring Security 配置数据库数据源是非常重要的配置。

那接下来就看一看在 Spring Security 中如何连接数据库,使用数据库数据登陆吧!

本文配套的示例源码: https://github.com/lxiaocode/spring-security-examples

在 Spring Security 中默认的登陆是通过表单的形式进行的。但是在前后端分离的项目中很少会使用表单的形式登陆。大多数情况是由前端调用登陆接口,登陆后则会返回 JSON 格式的响应告诉前端是否成功,根据返回进行跳转页面或其他操作就可以由前端来进行判断了。

那接下来就看一看在 Spring Security 中如何使用 JSON 格式登陆吧!

本文配套的示例源码: https://github.com/lxiaocode/spring-security-examples

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

有些时候,我们会使用一些十分简单的匿名类,比如只包含一个方法的接口,这样的匿名类语法会显得十分的笨重。在这种情况下,你通常是想将某个功能作为参数传递到另一个方法中,比如希望将如何比较两个对象大小的功能传入排序方法中。Lambda 表达式就是一个可传递的代码块,将功能视为方法参数,或将代码视为数据。

虽然匿名类比名命类更加简洁,但是对于只有一个方法的类来说,还是显得笨重和繁琐。Lambda 表达式使你可以更紧凑地表示单个方法类的实例。