![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SSM
文章平均质量分 93
Mybatis:尚硅谷SSM框架笔记。
Spring:黑马程序员SSM框架教程笔记。
热爱编程的小白白
新星计划导师,全栈领域优质创作者,阿里云专家博主,CSDN内容合伙人,成长一夏挑战赛-优秀领军人物,创作之秋挑战赛-优秀领军人物。
展开
-
【MyBatis-Plus】DML编程控制 代码生成器
查询相关的操作我们已经介绍完了,紧接着我们需要对另外三个,增删改进行内容的讲解。挨个来说明下,首先是新增(insert)中的内容。前面我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容,我们更想要的是按照数据库表字段进行自增长,在解决这个问题之前,我们先来分析下ID该如何选择:不同的业务采用的ID生成方式应该是不一样的,那么在MP中都提供了哪些主键生成策略,以及我们该如何进行选择?在这里我们又需要用到MP的一个注解叫在构建条件查询之前,我们先来准备下环境创建一个SpringBoot项目原创 2023-07-10 17:17:01 · 6945 阅读 · 32 评论 -
【MyBatis-Plus】DQL编程控制
Unknown column ‘多出来的字段名称’ in ‘field list’具体的解决方案用到的还是注解,它有一个属性叫exist,设置该字段是否在数据库表中存在,如果设置为false则不存在,生成sql语句查询的时候,就不会再查询该字段了。原创 2023-07-06 19:41:06 · 4541 阅读 · 27 评论 -
【MyBatis-Plus】入门案例与简介
MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率。开发方式基于MyBatis使用MyBatisPlus基于Spring使用MyBatisPlus基于SpringBoot使用MyBatisPlusSpringBoot刚刚我们学习完成,它能快速构建Spring开发环境用以整合其他技术,使用起来是非常简单,对于MP的学习,我们也基于SpringBoot来构建学习。创建SpringBoot工程勾选配置使用的技术,能够实现自动添加起步依赖包。原创 2023-06-23 15:32:35 · 6876 阅读 · 161 评论 -
【SpringMVC】统一异常处理 前后台协议联调 拦截器
在讲解这一部分知识点之前,我们先来演示个效果,修改BookController类的方法重新启动运行项目,使用PostMan发送请求,当传入的id为1,则会出现如下效果:前端接收到这个信息后和之前我们约定的格式不一致,这个问题该如何解决?在解决问题之前,我们先来看下异常的种类及出现异常的原因:看完上面这些出现异常的位置,你会发现,在我们开发的任何一个位置都有可能出现异常,而且这些异常是不能避免的。所以我们就得将异常进行处理。思考各个层级均出现异常,异常处理代码书写在哪一层?所有的异常均抛出到表现层进行处理异原创 2023-06-19 17:42:28 · 9613 阅读 · 48 评论 -
【SpringMVC】SSM整合
SSM整合以及功能模块开发完成后,接下来,我们在上述案例的基础上分析下有哪些问题需要我们去解决下。在Controller层增删改返回给前端的是boolean类型数据在Controller层查询单个返回给前端的是对象在Controller层查询所有返回给前端的是集合对象目前我们就已经有三种数据类型返回给前端,如果随着业务的增长,我们需要返回的数据类型会越来越多。原创 2023-06-11 14:06:06 · 4737 阅读 · 29 评论 -
【SpringMVC】RESTful案例
对于Rest风格,我们需要学习的内容包括:REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格当我们想表示一个网络资源的时候,可以使用两种方式:传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。查看REST风格的描述,你会发现请求地址变的简单了,并且光看请求URL并不是很能猜出来该URL的具体功能所以REST的优点有:但是我们的问题也随之而来了,原创 2023-06-05 20:13:58 · 8378 阅读 · 31 评论 -
【SpringMVC】请求与响应
代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。发送的是GET请求可以直接使用浏览器,但是如果要发送的是POST请求呢?如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。作用:常用于进行接口测试特征简单实用美观大方。原创 2023-06-04 16:58:24 · 823 阅读 · 3 评论 -
【SpringMVC】入门案例
SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。SpringMVC简介请求与响应REST风格SSM整合(注解版)拦截器SpringMVC是处于Web层的框架,所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端,所以如何处理请求和响应是SpringMVC中非常重要的一块内容。REST是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,后期的应用也是非常广泛。原创 2023-06-01 19:51:21 · 960 阅读 · 7 评论 -
【Spring篇】AOP事务管理
事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或**业务层**保障一系列的数据库操作同成功同失败数据层有事务我们可以理解,为什么业务层也需要处理事务呢?转账业务会有两次数据层的调用,一次是加钱一次是减钱把事务放在数据层,加钱和减钱就有两个事务没办法保证加钱和减钱同时成功或者同时失败这个时候就需要将事务放在业务层进行处理。Spring为了管理事务,提供了一个平台事务管理器commit是用来提交事务,rollback是用来回滚事务。原创 2023-05-23 18:35:39 · 11491 阅读 · 371 评论 -
【Spring篇】AOP案例
AOP的知识就已经讲解完了,接下来对于AOP的知识进行一个总结。原创 2023-05-20 13:28:44 · 2972 阅读 · 22 评论 -
【Spring篇】AOP
前面我们在介绍Spring的时候说过,Spring有两个核心的概念,一个是IOC/DI,一个是AOP。前面已经对IOC/DI进行了系统的学习,接下来要学习它的另一个核心内容,就是。原创 2023-05-07 11:50:27 · 3502 阅读 · 11 评论 -
【Spring篇】Spring整合
一、一、在准备环境的过程中,我们也来回顾下Mybatis开发的相关内容Mybatis是来操作数据库表,所以先创建一个数据库及表项目的pom.xml添加相关依赖resources目录下添加,用于配置数据库连接四要素useSSL:关闭MySQL的SSL连接。原创 2023-05-04 20:37:51 · 9807 阅读 · 100 评论 -
【Spring篇】IOC/DI注解开发
三、原创 2023-04-30 16:21:58 · 4688 阅读 · 20 评论 -
【Spring篇】IOC/DI配置管理第三方bean
前面所讲的知识点都是基于我们自己写的类,现在如果有需求让我们去管理第三方jar包中的类,该如何管理?一、在这一节中,我们将通过一个案例来学习下对于第三方bean该如何进行配置管理。以后我们会用到很多第三方的bean,本次案例将使用咱们前面提到过的数据源Druid(德鲁伊和C3P0来配置学习下。原创 2023-04-27 21:15:26 · 8547 阅读 · 157 评论 -
【Spring篇】DI相关内容
IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配。原创 2023-04-24 20:44:18 · 9353 阅读 · 277 评论 -
【Spring篇】IOC相关内容
通过前面两个案例,我们已经学习了bean如何定义配置DI如何定义配置以及容器对象如何获取的内容,接下来主要是把这三块内容展开进行详细的讲解,深入的学习下这三部分的内容,首先是bean基础配置。一、对于bean的配置中,主要会讲解bean基础配置bean的别名配置bean的作用范围配置重点对于bean的基础配置,在前面的案例中已经使用过其中,bean标签的功能、使用方式以及id和class属性的作用,我们通过一张图来描述下这其中需要大家重点掌握的是。原创 2023-04-21 20:12:23 · 4067 阅读 · 27 评论 -
【Spring篇】Spring入门案例
使用Spring提供的接口完成IOC容器的创建,创建App类,编写main方法。原创 2023-04-17 08:30:00 · 6001 阅读 · 83 评论 -
【Spring篇】Spring相关概念
我们就想,如果能把框中的内容给去掉,不就可以降低依赖了么,但是又会引入新的问题,去掉以后程序能运行么?如果数据层的实现类发生变化,那么业务层的代码也需要跟着改变,发生变更后,都需要进行编译打包和重部署。会了基础操作后,就需要通过大量案例来熟练掌握框架的具体应用,加深对设计思想的理解。来说,它能迅速占领全球市场,不只是说它的某个功能比较强大,更重要是在它的。遇到的问题就会增多,为了解决问题会引入更多的框架,这些框架。除了上面的这三个技术外,还有很多其他的技术,也比较流行,如。原创 2023-04-10 18:10:54 · 4584 阅读 · 102 评论 -
【MyBatis】mybatis分页插件
在MyBatis的核心配置文件中配置插件。原创 2022-11-23 13:04:28 · 575 阅读 · 6 评论 -
【MyBatis】MyBatis的逆向工程
⑦添加 SqlSessionUtils 工具类。MBG插件的generate目标。④创建逆向工程的配置文件。⑤创建log4j.xml。原创 2022-11-17 13:17:35 · 2132 阅读 · 21 评论 -
【MyBatis】MyBatis的缓存
因此这些对象不能被修改。查询的数据会被缓存,下次查询相同的数据,就 会从缓存中直接获取,不会从数据库重新访问。先查询二级缓存,因为二级缓存中可能会有其他程序已经查出来的数据,可以拿来直接使用。查询的结果会被 缓存;此后若再次执行相同的查询语句,结果就会从缓存中获取。两次查询之间执行了任意的增删改,会使一级和二级缓存同时失效。查询的数据所转换的实体类类型必须实现序列化的接口。最近最少使用的:移除最长时间不被使用的对象。不同的SqlSession对应不同的一级缓存。关闭之后,一级缓存中的数据会写入二级缓存。原创 2022-11-12 07:30:00 · 1240 阅读 · 73 评论 -
【MyBatis】动态SQL
若where标签中的if条件满足,则where标签会自动添加where关键字,并将条件最前方多余的and去掉。若where标签中的if条件满足,则where标签会自动添加where关键字,并将条件最前方多余的and去掉。若where标签中的if条件都不满足,则where标签没有任何功能,即不会添加where关键字。prefixOverrides:在trim标签中的内容的前面去掉某些内容。prefix:在trim标签中的内容的前面添加某些内容。suffix:在trim标签中的内容的后面添加某些内容。原创 2022-10-07 09:48:35 · 1435 阅读 · 11 评论 -
【MyBatis】自定义映射resultMap
若字段名和实体类中的属性名不一致,但是字段名符合数据库的规则(使用_),实体类中的属性。:当开启时,任何方法的调用都会加载该对象的所有属性。1.可以通过为字段起别名的方式,保证和实体类中的属性名保持一致。:延迟加载的全局开关。此时就可以实现按需加载,获取的数据是什么,就只会执行相应的。property:设置映射关系中实体类中的属性名。type:查询的数据要映射的实体类的类型。column:设置映射关系中表中的字段名。属性设置当前的分步查询是否使用延迟加载,标签所处理的集合属性中存储数据的类型。原创 2022-10-03 23:46:50 · 2861 阅读 · 88 评论 -
【MyBatis】特殊SQL的执行
1.模糊查询2.批量删除3.动态设置表名 4.添加功能获取自增的主键因为增删改有统一的返回值是受影响的行数,因此只能将获取的自增的主键放在传输的参数user。useGeneratedKeys keyProperty 删除。当有多张表时,例如 VIP表 和 普通表 ,这时需要动态设置表名。useGeneratedKeys:设置使用自增的主键。、为班级分配学生,即将某学的班级。、获取新添加的班级的。修改为新添加的班级的。原创 2022-09-25 00:00:26 · 2413 阅读 · 65 评论 -
【MyBatis】各种查询功能
集合的方式查询,一条数据对应一个。集合的方式查询,一条数据对应一个。集合的键,值是每条数据所对应的。中常用的类型都设置了类型别名。* 根据用户id查询用户信息。4.查询一条数据为map集合。若有多条数据,就会产生多个。若有多条数据,就会产生多个。的方式返回数据,此时需要通过。* 查询所有用户信息。原创 2022-09-02 23:58:39 · 4136 阅读 · 103 评论 -
【MyBatis】获取参数值的方式
只需要通过${}和#{}访问map集合的键就可以获取相对应的值, 注意${}需要手动加单引号。若mapper接口中的方法参数为单个的字面量类型 ,此时可以使用${}和#{}以任意的名称获取参数的值,map中 只需要通过${}和#{}访问map集合的键就可以获取相对应的值,注意${}需要手动加单引号。此时可以使用${}和#{},通过访问实体类对象中的属性名获取属性值,注意${}需要手动加单引号。因此只需要通过${}和#{}访问map集合的键就可以获取相对应的值,若mapper接口中的方法参数为实体类对象时。.原创 2022-08-28 22:55:49 · 1069 阅读 · 86 评论 -
【MyBatis】核心配置文件详解
environments:配置多个连接数据库的环境 属性:default:设置默认使用的环境的id。属性:type:设置数据源的类型 type="POOLED|UNPOOLED|JNDI":配置某个具体的环境 属性:id:表示连接数据库的环境的唯一标识,不能重复。:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名。以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写。接口所在的包要和映射文件所在的包一致。:设置需要设置别名的类型。:设置某个类型的别名。原创 2022-08-21 22:31:56 · 6408 阅读 · 103 评论 -
【MyBatis】测试 修改.删除.查询功能
使用中,如果每个方法执行时都需要读取配置文件,并根据配置文件的信息构建SqlSessionFactory对象,然后创建SqlSession 对象,这会导致类大量的重复代码。为了简化开发,需要将重复代码封装到一个工具类中。自定义映射,用于一对多或多对一或字段名和属性名不一致的情况。💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉。自动映射,用于属性名和表中字段名一致的情况。,用于设置实体类和数据库表的映射关系。1.创建sqlSession工具类。只是简单测试,后期会优化。.........原创 2022-08-17 09:44:44 · 1366 阅读 · 53 评论 -
【MyBatis】搭建MyBatis
MySQL 8版本使用jdbc8驱动,驱动类使用:com.mysql.cj.jdbc.Driver。log4j的配置文件名为log4j.xml,存放的位置是src/main/resources目录下。MySQL 5版本使用jdbc5驱动,驱动类使用:com.mysql.jdbc.Driver。例如:表t_user,映射的实体类为User,所对应的映射文件为UserMapper.xml。b>mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致。MySQL版本:MySQL 5.7。...原创 2022-08-13 22:40:56 · 2715 阅读 · 96 评论 -
【MyBatis】简介
代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。3) MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old JavaObjects,普通的Java对象)映射成数据库中的记录。4) MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架。1) MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。...原创 2022-08-10 08:45:00 · 1422 阅读 · 100 评论