MyBatis 是一个优秀的持久层框架,它对 jdbc 的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需 要花费精力去处理例如注册驱动、创建 connection、创建 statement、手动设 置参数、结果集检索等 jdbc 繁杂的过程代码。MyBatis 通过 xml 或注解的方 式将要执行的各种 statement(statement、preparedStatemnt、 CallableStatement)配置起来,并通过 java 对象和 statement 中的 sql 进行 映射生成最终执行的 sql 语句,最后由 MyBatis 框架执行 sql 并将结果映射成 java 对象并返回。
Spring Boot 以其通过提供合理的默认值和自动化配置来简化 Spring 应用程序开发的能力而闻名。它的关键功能之一是自动配置,这减少了设置 Spring 应用程序所需的样板代码。
读锁可以多个线程同一时刻持有,写锁在同一时刻只能被一个线程持有。读锁和写锁共同使用才有意义,读锁可以使多线程访问数据时,如果仅仅是访问数据而不做修改,不用互相等待。但如果有线程要修改数据时,再加以限制,保证写数据的时候,别的线程不能再读取数据,以免读到的数据是污染数据。