
SSM框架
SaMorri
学习树洞
展开
-
MyBatis学习(4)——缓存机制、MBG-逆向工程
1. 概述MyBatis 包含一个强大的查询缓存特性,可以方便地配置和定制。缓存可极大提升查询效率。MyBatis系统中默认定义了一级缓存和二级缓存,是一个Map,能保存查询出的一些数据默认情况下,只有一级缓存(SqlSession/线程 级别的缓存,也称为本地缓存)开启。二级缓存需要手动开启和配置,他是基于namespace级别的缓存(全局范围的)。为了提高扩展性。MyBatis定义了缓存接口Cache。我们可以通过实现Cache接口来自定义二级缓存2. 一级缓存机制只要是之前查询过的原创 2020-07-09 22:32:12 · 179 阅读 · 1 评论 -
Spring MVC 学习(4) 拦截器、异常处理、运行流程、
1. 拦截器1.概述SpringMVC 提供了拦截器机制;允许运行目标方法之前进行一些拦截工作,或者目标方法运行之后进行一些其他处理;自定义的拦截器必须实现HandlerInterceptor接口preHandle()方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他的组件去处理请求,则返回false。postHandle()方原创 2020-07-08 16:47:52 · 597 阅读 · 0 评论 -
MyBatis学习(3)——理解动态SQL
动态SQL动态 SQL是MyBatis强大特性之一。极大的简化我们拼装SQL的操作。MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作。①if②choose (when, otherwise)③trim (where, set)④foreachif、where、trim等①<if>判断,标签内的test=""编写判断条件②<where>用于代替sql语句中的where,可去掉前面的and;③<trim>截取字符串,标签内的pref原创 2020-07-07 20:38:06 · 251 阅读 · 0 评论 -
MyBatis学习(2)——SQL映射
1. SQL映射文件1.1 insert、update、delete元素useGeneratedKeys、keyProperty配合可获取到插入数据后的自增id。其中keyProperty指定自增的主键封装给哪个属性,useGeneratedKeys的原理是调用原生JDBC中statement类的getGeneratedKeys方法<!-- 查询主键 order="BEFORE"在核心sql语句之前先运行一个查询sql查到id,并将查到的id赋值给javabean的某个属性-->原创 2020-07-07 11:14:53 · 195 阅读 · 0 评论 -
MyBatis学习(1)HelloWorld、mybatis-config
概述MyBatis将重要的步骤抽取出来可以人工定制,其他步骤自动化;重要步骤都是写在配置文件中(好维护);完全解决数据库的优化问题;MyBatis底层就是对原生JDBC的一个简单封装;sql和java编码分开,功能边界清晰,一个专注业务、一个专注数据,且不失自动化功能;是一个半自动的持久化层框架;是一个轻量级的框架;...原创 2020-07-05 14:21:14 · 142 阅读 · 0 评论 -
Spring MVC 学习(3)DispatcherServlet原理(源码)、表单标签(CRUD)、数据转换、mvc:annotation-driven
1. 前端控制器DispatcherServlet架构doDispatch()执行过程过程:(1) 所有的请求过来,DispatcherServlet收到请求,(2) 调用doDispatch()方法进行处理getHandler():根据当前请求地址找到能处理这个请求的目标处理器类(处理器)根据当前请求在HandlerMapping中找到这个请求的映射信息,获取到目标处理器类getHandlerAdapter():根据当前处理器类获取到能执行这个处理器方法的适配器(AnnotationM原创 2020-07-03 14:42:02 · 519 阅读 · 0 评论 -
Spring MVC 学习(2)—— REST、映射请求参数、处理数据模型
1. REST概述REST:即 Representational State Transfer。(资源)表现层状态转化。是目前流行的一种互联网软件架构。系统希望以非常简洁的URL地址来发请求,怎样表示对一个资源的增删改查用请求方式来区分资源(Resources):网络上的一个实体可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的 URI 。要获取这个资源,访问它的URI就可以,因此 URI 即为每一个资源的独一无二的原创 2020-06-28 15:22:28 · 335 阅读 · 0 评论 -
Spring学习——声明式事务
JdbcTemplate:实验1:测试数据源jdbc.user=rootjdbc.password=123456jdbc.jdbcUrl=jdbc:mysql://localhost:3306/jdbc_templatejdbc.driverClass=com.mysql.jdbc.Driver<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/b原创 2020-06-24 20:33:55 · 252 阅读 · 0 评论 -
Spring学习——AOP的理解
概述AOP(Aspect Oriented Programming)面向切面编程,指在程序运行期间,将某段代码动态的切入到指定方法的指定位置(方法的开始、结束、异常等)进行运行的这种编程方式。其中,动态代理可以实现AOP,但动态代理的缺点:较为复杂,书写困难若目标对象没有实现任何接口, jdk默认的动态代理无法为其创建代理对象通过Spring实现的AOP功能,其底层就是动态代理,其优点:简便的创建动态代理;实现简单,而且没有强制要求目标对象必须实现接口;将某段代码(日志)动态的切入(不原创 2020-06-20 10:53:35 · 384 阅读 · 0 评论 -
Spring学习——IOC(4)
前15个实验请见文章Spring学习——IOC(3)Spring学习——IOC(2)实验16实验:使用@Autowired注解实现根据类型实现自动装配★@AutowiredSpring会自动的为这个属性赋值(通过在容器中找到这个属性对应的组件)原理:以BookService 的自动装配为例@Autowired private BookService bookService;先按照类型在容器中找到对应的组件;bookService = ioc.getBean(BookServ原创 2020-06-18 19:12:12 · 185 阅读 · 0 评论 -
Spring学习——IOC(3)生命周期、引用外部文件、自动装配
前8个实验请见上一篇文章https://blog.youkuaiyun.com/m0_38140207/article/details/106787454实验9创建带有生命周期方法的bean生命周期:bean的创建到销单例bean,容器启动的时候创建,容器关闭也会销毁创建的bean,即(容器启动)构造器---->初始化方法---->(容器关闭)销毁方法多实例bean,获取的时候才创建;即获取bean(构造器---->初始化方法)---->容器关闭不会调用bean的销毁方法我们原创 2020-06-18 13:47:31 · 183 阅读 · 0 评论 -
Spring学习——IOC(2)
IOC实验实验2:根据bean的类型从IOC容器中获取bean的实例★/** * 实验2:根据bean的类型从IOC容器中获取bean的实例★ 如果ioc容器中这个类型的bean有多个,查找就会报错 * org.springframework.beans.factory.NoUniqueBeanDefinitionException: No * qualifying bean of type [com.atguigu.bean.Person] is defined: expected原创 2020-06-16 21:30:16 · 202 阅读 · 0 评论 -
Spring学习——IOC(1)
Spring概述(1)框架(可以理解为一个半成品的软件)是高度抽取可重用代码的一种设计;具有高度的通用性。框架:抽取成一种高度可重用的;具有事务控制的功能,强大的servlet,项目中的一些工具。多个可重用模块的集合,形成一个某个领域的整体解决方案;(2)Spring:容器(可以管理所有的组件(类))框架;核心关注:IOC和AOP;3、Spring(IOC和AOP )三个一组:source是源码包;Spring的模块划分图:IOC(Inversion Of Control)IOC+AO原创 2020-06-16 14:57:13 · 180 阅读 · 0 评论 -
Spring MVC学习(1)——HelloWorld、@RequestMapping、Ant
1. 概述① SpringMVC一种轻量级的、基于MVC的Web层应用框架。② SpringMVC是Spring框架的一个后续产品。③ Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一。④ Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。⑤ Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。⑥ 支持 REST 风格的 URL 请求。⑦ 采用了松散耦合可插拔组原创 2020-06-27 12:43:59 · 242 阅读 · 0 评论