mybatis自定义拦截器 *** mybatis自定义拦截器/*** 数据权限注解/*** 数据权限集合//执行的目标对象、方法、参数 Object target = invocation . getTarget();//区分执行目标对象 if(target instanceof Executor && method . getName() . equals("query") && args . length == 4) {
MyBatis(六)反向生成插件 一、1.1、pom.xml添加依赖 <!-- generator--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</versi
MyBatis(五)动态sql、分页插件、缓存 一、xml中重要的标签1.1、where标签查询条件实体类public class QueryTeamVO { private String name; private Date beginTime; private Date endTime; private String location; public QueryTeamVO() { } public QueryTeamVO(String name, Date beginTime
MyBatis(四)Mybatis全局配置及映射关系 一、配置文件内容mybatis.xml就是Mybatis的全局配置文件。全局配置文件需要在头部使用约束文件。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">配置文件的顶层结构如下:c
MyBatis(三)Mybatis增删改查 一、插入数据并获取ID1.1、GameMapper实体类public class GameRecord { /** * 记录ID */ private String recordId; /** * 主队ID */ private Integer homeTeamId; /** * 比赛时间 */ private Date gameDate; /** * 比分 */
MyBatis(二)Mybatis对象分析及使用 一、重要类对象1.1、Resources资源,读取资源文件。有很多方法通过加载并解析资源文件,返回不同类型的IO流对象。1.2、sqlSessionFactoryBuilderSqlSessionFactory的创建需要使用sqlSessionFactoryBuilder对象的build()方法。事实上使用SqlSessionFactoryBuilder的原因是将SqlSessionFactory这个复杂对象的创建交给Builder来执行,也就是建造者模式。建造者模式:又称生成器模式,是一种对象
MyBatis(一)概述 一、概念Mybatis本事apache的开源项目iBatis,2010年项目迁移到google code并更名为MyBatis,2013年11月迁移至github。iBatis一词来源于“internal”和“abatis”组合,是一个基于java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis是基于java的持久层框架,内部封装了jdbc,开发人员只需要关注sql本身,不需要花费精力在驱动创建和连接建立、statement创
springmvc(八)RESTful风格 一、概念1.1、RESTREST(Representational State Transfer,表述性状态转换) 描述了一个架构样式的网络系统,比如web应用。它是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件,主要用户客户端和服务端交互软件。基于这个风格设计的软件可以更简洁更有层次,更易于实现缓存机制。其核心价值在于如何设计出符合REST风格的接口。1.2、RESTfulREST指的是一组架构设计原则和约束条件,满足这些约束条件和原则的应用程序或设计就是RESTfu
springmvc(七)文件上传和下载 一、文件上传SpringMVC为文件上传提供了直接支持,这种支持是通过即插即用MultipartResolver实现的。Spring中有一个MultipartResolver实现类:CommonsMultipartResolverSpring上下文中默认没有装配MultipartResolver,因此默认情况下不能处理文件上传工作。想要使用上传功能,需要在上下文中装配MultipartResolver。1.1、添加依赖 <dependency> <g
springmvc(六)拦截器 一、概念SpringMVC中拦截器(interceptor)是非常重要的,它的主要作用是拦截用户请求,并进行相应的预处理和后处理。拦截的时间点在“处理器映射器HandlerMapping根据用户请求映射出了所要执行的处理器类,并且也找到了要执行该处理器类的处理器适配器,在处理器适配器HandlerAdaptor执行处理器之前”在处理器适配器映射出所需要执行的处理器类时,已将拦截器与处理器组合为一个处理器执行链HandlerExecutionChain,并返回给了前端控制器。自定义拦截器需要实现Han
springmvc(五)异常处理 一、@ExceptionHandler@ExceptionHandler可以将一个方法指定为异常处理方法。被注解的方法,其返回值可以是ModelAndView、String或者Void,方法名随意,方法参数可以是Exception或其子类对象、HttpServletRequest、HttpServletResponse等,系统会自动为这些方法参数赋值。也可以将异常处理方法注解与@Controller中。二、实现步骤2.1、自定义异常类建立三个异常类public class JobExcept
springmvc(四)处理器方法的返回值 一、几种返回值类型使用@Controller注解的处理器,其返回值常用四种类型:ModelAndViewString返回自定义类型对象无返回值void1.1、返回ModelAndView前后端未分离开发时,返回ModelAndView,即模型+视图。 /** * 返回值ModelAndView:这种方式既有数据携带,还有资源跳转 * @return */ @RequestMapping("test01") public ModelAndVi
springmvc(三)处理器方法的参数 一、几种获取请求参数方法处理器方法可以包含四类参数,这些参数会在系统调用时由系统自动赋值,所以我们可以在方法内直接使用。四类参数如下:HttpServletRequestHttpServletResponseHttpSession请求中所携带的请求参数1.1、ParamController@Controller@RequestMapping("param")public class ParamController { @RequestMapping("hello")
springmvc(二)工作流程 一、SpringMVC工作流程分析用户通过浏览器发送请求到前端控制器DispatcherServlet前端控制器将请求转给处理映射器HandlerMapping处理映射器HandlerMapping根据请求,找到负责处理请求的处理器,并将其封装为处理器请求链HandlerExecution返回给前端控制器DispatcherServlet前端控制器DispatcherServlet根据处理器执行链中处理器,找到执行该处理器的适配器HandlerMapping。处理器的适配器HandlerMap
springmvc(一)概述 一、概述1.1、springmvc概念SpringMVC也叫spring web mvc,是spring内置的一个mvc框架。在spring3.0以后发布。springmvc解决了web开发中、常见的问题(参数接收、文件上传、表单验证等),使用简单,与spring无缝集成。支持restful风格URL请求,采用松散耦合可插拔组件,比其他MVC框架更具有扩展性和灵活性。1.2、springmvc原理在没有springmvc以前都是使用servlet进行web开发,但是使用servlet进行参数接收、数
mysql树形数据解决方案 一、表结构CREATE TABLE `t_sys_department` ( `sf_department_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门ID', `sf_parent_id` bigint(20) NOT NULL DEFAULT -1 COMMENT '上级部门ID', `sf_department_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_c