摘要: 至此,第二步已经全部结束,接下来要接触到HandlerAdapter。 第四步: 再次回到DispatcherServlet类的doDispatch方法,继续往下走,进到getHandlerAdapter方法中。 在DispatcherServlet类中维护了一个名为handlerAdapters的 阅读全文
posted @ 2020-12-18 09:11 Nyantocat 阅读(153) 评论(0) 推荐(0)
摘要: 前言 我用的是最原始的Spring MVC使用方式,基于XML文件配置。 项目结构 导入依赖: **spring-webmvc:**https://mvnrepository.com/artifact/org.springframework/spring-webmvc **javax.servlet 阅读全文
posted @ 2020-12-18 09:08 Nyantocat 阅读(230) 评论(0) 推荐(1)
摘要: 第四步 这一步的主要目的就是通过SqlSession执行SQL语句。 Payment payment = sqlSession.selectOne("com.gzy.mybatistest.mapper.PaymentMapper.getPaymentById", 1); 直接进入DefaultSq 阅读全文
posted @ 2020-12-15 09:02 Nyantocat 阅读(113) 评论(0) 推荐(0)
摘要: XMLStatementBuilder类中的parseStatementNode方法是真正开始解析指定的SQL节点。 从上文中可知context就是SQL标签对应的XNode对象,该方法前面大部分内容都是从XNode对象中获取各个数据。其实该方法的大致意思就是解析这个SQL标签里的所有数据(SQL语 阅读全文
posted @ 2020-12-15 09:00 Nyantocat 阅读(290) 评论(0) 推荐(0)
摘要: 前言 我会一步一步带你剖析MyBatis这个经典的半ORM框架的源码! 我是使用Spring Boot + MyBatis的方式进行测试,但并未进行整合,还是使用最原始的方式。 项目结构 导入依赖: mybatis:https://mvnrepository.com/artifact/org.myb 阅读全文
posted @ 2020-12-15 08:58 Nyantocat 阅读(863) 评论(0) 推荐(2)
摘要: 表名和字段 学生表 **Student(s_id,s_name,s_birth,s_sex):**学生编号、学生姓名、出生年月、学生性别。 课程表 **Course(c_id,c_name,t_id):**课程编号、课程名称、教师编号。 教师表 **Teacher(t_id,t_name):**教师 阅读全文
posted @ 2020-10-25 17:04 Nyantocat 阅读(846) 评论(0) 推荐(0)
摘要: ArrayList 是否保证线程安全 ArrayList不是线程安全的,其内部的方法均没有使用synchronized修饰,而且在ArrayList类源码注释的39行也明确说明它不是同步的。 39 - This class is roughly equivalent to {@code Vector 阅读全文
posted @ 2020-09-30 13:56 Nyantocat 阅读(182) 评论(0) 推荐(0)