摘要:
1. 导入jar包 SpringMVC 所需jar包; MyBatis 所需jar包 和数据库驱动jar包; MyBatis 与 Spring 整合需要适配包: 2. 配置文件 2.1 MyBatis 配置文件 MyBatis 全局配置文件: ; 数据库配置文件: ; 对应接口的映射文件: ; 2. 阅读全文
摘要:
1. 概述 1.1 缓存可以极大的提升查询效率,MyBatis 系统中默认定义了两级缓存:一级缓存和二级缓存 默认情况下,只有一级缓存(SqlSession 级别的缓存,也称为本地缓存)开启; 二级缓存(基于namespace 级别的缓存, 也称为全局缓存)需要手动开启和配置; 为了提高扩展性,My 阅读全文
摘要:
1. 概述 动态 SQL 极大的简化了我们拼装SQL的操作; MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作: if choose(when,otherwise) trim(where(封装查询条件), set(封装修改条件)) foreach 1.1 `` 查询 1.2 `` 查 阅读全文
摘要:
1. MyBatis 映射文件之``标签 1. ``用来定义查询操作; "id": 唯一标识符,需要和接口中的方法名一致; : 参数类型,可以不传,MyBatis 会根据 TypeHandler 自动推断; : 返回值类型;使用别名或全类名,如果返回的是集合,定义集合中元素的类型; 不能和 resu 阅读全文
摘要:
1. MyBatis 概述 1. MyBatis 是一个半自动化的持久层框架; 核心SQL,开发人员可以进行优化; SQL和Java编码分开,功能边界清晰,一个专注业务,一个专注数据; 2. JDBC: SQL 语句夹在Java代码块里,耦合度高,导致硬编码内伤; 维护不易且实际开发需求中SQL是有 阅读全文
摘要:
1. 运行流程 2. Spring 和 SpringMVC 整合 2.1 存在问题一: Bean 创建两次 2.2 存在问题二: 2.3 最终效果: 3. SpringMVC 配置文件中引用业务层的 Bean 多个 SpringIOC 容器之间可以设置为父子关系,以实现更好的解耦; SpringMV 阅读全文
摘要:
1. 声明式异常捕捉 1. Struts2 的异常处理机制是通过 struts.xml 文件中配置 `` 元素完成的, 配置该元素时,需要指定两个属性: : 异常类型; : 指定逻辑视图名称; 2. 根据 `` 出现的位置,异常映射分为两种: 局部异常映射:将 元素的子元素配置; 全局异常映射:将 阅读全文
摘要:
1. 文件上传 Spring 使用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类: ; SpringMVC 上下文中默认没有装配 MultipartResolver,因此默认情况下不能处理文件的上传; 若要使用上传功能,需要在上下文 阅读全文
摘要:
1. 数据绑定流程 1. SpringMVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象; 2. DataBinder 调用装配在 SpringMVC 上下文中的 Conversion 阅读全文
摘要:
1. 视图和视图解析器 1. 视图解析器 请求处理方法执行完成后,最终返回一个ModelAndView对象,对于返回String,View 或 ModelMap 等类型的处理方法, SpringMVC 也会在内部将它们装配成一个ModelAndView对象; SpringMVC借助视图解析器(Vie 阅读全文