SSM中常用知识点总结回顾
前言:学完SSM(Mybatis,Spring,SpringMVC)已经也一段时间,长时间不回顾有些知识点已经忘却了,写一篇文章简要回顾
分三个模块:
一.Mybatis框架
1.框架介绍:
mybatis本质就是一个持久层的框架,用于数据的持久化操作。为的是解决一般jdbc执行sql时候的代码冗余问题,和维护困难问题;
2.框架的使用流程分析:
mybatis上手是比较简单的,主要是就是,一个mapper接口绑定一个xml配置文件,然后接口中的每一个抽象方法,绑定一个具体的sql语句,也就是当执行接口中的某个方法时,自动的去调用sql语句,然后去操作数据库,对数据库中的数据进行传统的CRUD操作,然而,sql语句是怎么执行的呢?此时就引出一个mybatis中最关键的对象"SqlSession",为什么说他最关键,因为此对象封装着对数据库操作的所有方法,只需给这个对象传递一个sql语句就能使得该sql语句执行,所以,当你想使用sql必须将sqlsession这个对象的流程梳理清晰,那么我们如何拿到sqlsesion对象呢?接下来就引入了Mybatis的核心配置文件"myabtis-config.xml"(一般这么命名,不过自定义也都可以),这个配置文件可以说是内容丰富了,引入具体的头文件后,就是对其进行配置,就像传统的的jdbc会配置数据库连接池,数据库对象等,myabatis同样也可以进行配置,而mybatis-config.xml就是其配置为地方,相比于jdbc只会显得更加完善,更加有逻辑,因为配置的每一个信息都是有固定的顺序的,例如:properties(属性),setting(设置),typeAliases(别名),datasource(数据源),mapper(注册mapper接口)等,配置好后就会知道当前的数据库和一些其余操作的信息,接下来就是解决上文遗留的问题,sqlsession怎么拿到,是因为存在一个SqlsessionFactoryBuilder(可以叫做工厂制造器),它将以IO流的方式读取配置文件mybatis-config.xml文件,生产出一个仅仅生产只含有对于当前数据库操作方法的sqlsession的工厂SqlsessionFactory,因此以后所有的SqlSession都是从这个工厂当中去拿的,拿到之后就能使得整个流程连贯起来了,
总结:,调用接口中的抽象方法,拿到sqlsession对象,执行抽象方法绑定的sql语句,实现对数据库的操作;
3.使用过程中需要掌握的知识点(常用的):
(1).关于基本CRUD操作的sql语句的书写,主要是sql标签当中的属性需要搞清楚
id:就是mapper接口当中的抽象方法名字
parameterType:mapper接口当中参数的数据类型
resultType:sql语句执行后返回的具体数据的数据类型例如返回;List<Student>具体的数据类型就是Student
(2).如果传递的参数有多个可以使用万能的Map去传递:
首先是创建一个Map集合通过使用键值对<key,value>的格式存储数据,而此时parameterType的类型就是map,而sql语句获值的方式采用#{key}即可,
(3).ResultMap:用来处理数据库字段与实体类的属性不一直问题
方式一【简单但是不推荐】:
方式二【推荐使用】:
(4).日志的使用
配置在myabtis-config.xml的核心配置文件当中,具体采用哪个日志去myabtis的官网去拿就行
(5).实现分页
在学习mybatis等持久层框架的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,如果查询大量数据的时候,我们往往使用分页进行查询,也就是每次处理小部分数据,这样对数据库压力就在可控范围内。
方式一:limit分页
1、修改Mapper文件
2、Mapper接口,参数为map
3、在测试类中传入参数测试
方式二:Rowbounds分页
我们除了使用Limit在SQL层面实现分页,也可以使用RowBounds在Java代码层面实现分页,当然此种方式作为了解即可。我们来看下如何实现的!
1、mapper接口
2、mapper文件
3、测试类
在这里,我们需要使用RowBounds类
方式三:PageHelper插件分页
(6).一对多,多对一
(7).动态sql
(8).缓存cache
mybatis当前我认为重点的知识点也就是上面这一些了,后续持续补充
二.Spring框架
Spring使用的具体提流程:Spring的核心配置文件一般命名为applicationContext.xml,导入头文件后和命名空间将所有的实体类对象注册到当中即可,
Spring主要就是引入了IOC和AOP两大思想,所以我们又称Spring为非入侵式的控制反转IOC和面向切面变成AOP的轻量级框架
IOC:控制反转的思想,主要是实现控制权的反转,是由原本的程序员主动去new对象,替代控制权交给用户,只是提供一个接口,被动的接受对象
AOP:面向切面编程思想,主要是方便后期的维护,在不改动原有的代码的条件下,给原有代码增加功能等一系列操作。
常用知识点总结:
1.注册bean:
【方式一】:通过配置文件的方式去注册bean对象,并为其属性赋值
【方式二】:通过注解的方式去注册bean对象,等价于配置文件,但是注入属性的时候可操作性低于配置文件
@Component:一般情况下,下面三个是其衍生注解,功能相同用于区分
@Repository:一般用于Dao层
@Controller:一般用于Controller层
@Service:一般用于Service层
【方式三】:javaConfig的方式去注册bean对象
JavaConfig 原来是 Spring 的一个子项目,它通过 Java 类的方式提供 Bean 的定义信息,在 Spring4 的版本, JavaConfig 已正式成为 Spring4 的核心功能 。
@configuration和@Bean2个注解的联合使用
2.属性注入问题
(1)如果是通过无参构造,set注入(要求被注入的属性 , 必须有set方法 , set方法的方法名由set + 属性首字母大写 , 如果属性是boolean类型 , 没有set方法 , 是 is .):默认注册bean是通过set方法为其属性赋值的
(2)反之是通过有参构造,(index,type,name)注入:
-index
- Type:参数多的时候不推荐使用
- name:比较容易理解
3.byName和byType的原理:
- byName:如果是byName自动装配,首先是查看需要装配属性的set方法名并且将其首字母小写,例如:(setName–>name),查看Spring的容器当中是否存在即id为name的bean对象,如果存在则完成自动装配
- byType:如果是byType的方式的话,知识查看Spring的容器当中是否存在与需要自动装配属性的类型一致的bean对象,如果存在那么自动装配成功;
4.自动装配问题:
前提是只有引用数据类型对象才可进行自动装配,而且如果要使用自动装配则需要:
- 通过属性实现自动装配:
autowire属性:byName | byType
- 通过注解实现自动装配:
@Autowired:属于Spring的注解:默认是通过byType,可以与Qualifire搭配来实现通过byName完成自动装配
@Qualifier:一般情况下不会单独使用,然而在后期Springboot中可以单独使用
@Resource:属于java的原生注解:默认是通过byName,但是如果不存在对象的name那么,自动转化为byType的自动装配方式
三.SpringMVC框架
__EOF__

本文链接:https://www.cnblogs.com/qxsong/p/15837329.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY