![](https://img-blog.csdnimg.cn/2020031400074268.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring+Spring MVC+MyBatis
文章平均质量分 92
大量篇幅是对SSM框架的整合知识进行了详细讲解,主要内容包括SSM框架结构的解读,SSM框架整合的环境搭建及SSM的整合过程。最后以SSM框架的实际应用(BOOT客户管理系统)进行了详细讲解,主要内容包括系统概述、数据库设计、系统环境搭建,以及用户登录模块和客户管理模块的开发实现等。
忆&往浠℃
这个作者很懒,什么都没留下…
展开
-
深度剖析MyBatis 的执行流程(3)--映射器
文章目录概要参数映射自定义typeHandler结果集映射自定义typeHandler结果集工作流程图总结概要映射器是MyBatis中最核心的组件之一,在MyBatis 3之前,只支持xml映射器,即:所有的SQL语句都必须在xml文件中配置。而从MyBatis 3开始,还支持接口映射器,这种映射器方式允许以Java代码的方式注解定义SQL语句,非常简洁。我们就从这里开始讲起。。。。。。。参数映射现在我们来看一下上面在执行查询之前参数是如何进行设置的,我们先进入prepareStatement方转载 2021-04-15 21:50:12 · 444 阅读 · 0 评论 -
深度剖析MyBatis 的执行流程(2)--sql执行流程分析
上一篇我们讲到了,获取到的Mapper接口实际上被包装成为了代理对象,所以我们执行查询语句肯定是执行的代理对象方法,接下来我们就以Mapper接口的代理对象MapperProxy来分析一下查询流程。整个sql执行流程可以分为两大步骤:一、寻找sql二、执行sql语句...转载 2021-04-15 21:34:11 · 387 阅读 · 0 评论 -
深度剖析MyBatis 的执行流程(1)--Mapper接口与映射文件
文章目录前言概要获取Mapper接口(getMapper)Mapper接口和映射文件是何时关联的前言这次找到一篇很好的对于MyBastis的运行流程的解析,拿出来跟大家分享!!!如果想看原文链接的,点击–java基基之MyBatis 的执行流程,写得太好了!MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下:1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中SQL语句的执行流程3、自定义MyBat转载 2021-04-15 21:24:10 · 991 阅读 · 0 评论 -
JavaEE企业级应用开发--BOOT客户管理系统的部署
文章目录前言项目导入须知1.开发环境:2.项目中所涉及到的包文件、配置文件,以及页面文件等在项目中的组织结构数据库准备资源小结前言最近一段时间在忙学校的事情没太多时间跟各位朋友们见面了!哈哈哈哈,五个多月没更新博客啦。属实抱歉!在这段时间,时不时收到信息,好多朋友们私信我,对于我《《JavaEE企业级应用开发第18章 BOOT客户管理系统》》很感兴趣—这个只是一个入门级的SSM项目罢了。还有的朋友呢,对于如何导入这个项目有些疑问,这里我就来解答一下吧。项目导入须知1.开发环境:2.项目中所涉及到原创 2020-11-19 11:24:52 · 2435 阅读 · 12 评论 -
JavaEE企业级应用开发第18章 BOOT客户管理系统的分享
文章目录前言:系统功能及架构介绍分享源代码及数据库文件前言:最近自己动手做了一个用户管理系统的项目跟大家分享一下。系统功能及架构介绍具体的架构设计如下:文件架构如下:分享源代码及数据库文件==》》点击 百度网盘链接提取码:kztx----》》点击 项目详细解读的PPT:从以下五个部分介绍,主要通过一个BOOT客户管理系统来讲解SSM框架的实际使用。首先对系统的功能、结构等进行了简单的介绍,然后讲解了系统所使用的数据库表。接下来,详细的讲解了系统的环境搭建工作。最后,讲解了系统用户原创 2020-06-09 21:32:06 · 4245 阅读 · 78 评论 -
SSM框架的整合--详细的步骤解读
文章目录前言:整合环境搭建如何进行SSM框架整合?整合所需框架包整合应用测试编写配置文件(1)引 入log4j配置文件**log4j.properties**(2)编写数据库连接参数配置文件db.properties(3)编写Spring配置文件applicationContext.xml(4)编写MyBatis配置文件mybatis-config.xml(5)编写SpringMVC配置文件springmvc-config.xml(6)修改web.xml配置文件整合开发1、在com.zsj.po包中创建持久原创 2020-06-08 23:02:11 · 1110 阅读 · 1 评论 -
测试事务--测试项目中配置的事务讲解
前言:在MyBatis+Spring的整合项目中,事务是由Spring 来管理的。在上篇博客中我们已经配置了事务管理器,并开启了事务注解,接下来,我们做一个实验来确定事务的配置是否正确,以及事务管理能否生效。 在项目中,一般把数据库事务管理放在业务层(Service层)。所以业务层既是处理业务的地方,又是管理数据库事务的地方。要对事务进行测试,首先需要创建业务层,并在业务层编写添加客户操作的代码;然后在添加操作的代码后,有意地添加一段异常代码(如inti=1/0;)来模拟现实中的意外情况;最后编写测试方原创 2020-06-08 18:01:02 · 966 阅读 · 0 评论 -
MyBatis框架与Spring框架的整合
文章目录前言以Mapper代理开发方式实现MyBatis框架与Spring框架的整合。基于MapperFactoryBean的整合整合项目所需框架包案例的具体实现在src目录下创建四个配置文件给项目添加JUnitjar包整合项目业务层编写1、在com.zsj.po包中创建持久化类Customer2、在com.zsj.mapper包中创建==CustomerMapper接口(CustomerMapper.java) 以及对应的映射文件3、在applicationContext.xml中配置mapper4、在t原创 2020-06-07 22:22:36 · 1033 阅读 · 0 评论 -
Spring MVC文本上传的实现
文章目录前言文件上传概述文件上传功能的实现文件下载概述拓展知识:文件下载案例及解析中文名文件下载乱码解决方法如下:前言经过前面的博客总结之后,我们的Spring MVC也接近尾声了。最后来介绍一下文件的上传和下载。文件的.上传和下载是项目开发中最常用的功能,例如图片的上传与下载、邮件附件的上传与下载等。接下来,将对Spring MVC环境中文件的上传和下载进行详细的讲解。文件上传概述多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单必须满原创 2020-05-25 21:30:15 · 200 阅读 · 0 评论 -
错误提示:java.lang.IllegalArgumentException: attempt to create delete event with null entity
java.lang.IllegalArgumentException: attempt to create delete event with null entity at org.hibernate.event.DeleteEvent.<init>(DeleteEvent.java:47) at org.hibernate.impl.SessionImpl.delete(Sess...原创 2020-05-04 14:28:16 · 1414 阅读 · 0 评论 -
Spring MVC拦截器(二)---多个拦截器执行流程及实现用户登录权限验证
前言这篇博客属于对上一篇单个拦截器执行流程的拓展,该实验的项目所需框架包可以直接将上篇博客的项目拿来!!1.多个拦截器的执行流程1、在com.zsj .interceptor包中创建两个拦截器类Interceptor1 和Interceptor22、在配置文件springmvc-config xml中的元素内配置上面所定义的两个拦截器3、部署和运行项目,将项目发布到Tomcat 服务器...原创 2020-04-28 17:38:11 · 1512 阅读 · 0 评论 -
Spring MVC拦截器(一)---定义,配置及单个拦截器执行流程
文章目录前言1.拦截器的定义2.拦截器的配置3.拦截器的执行流程前言在实际项目中,拦截器的使用是非常普遍的,例如在购物网站中通过拦截器可以拦截未登录的用户,禁止其购买商品,或者使用它来验证已登录用户是否有相应的操作权限等。Spring MVC中也提供了拦截器功能,通过配置即可对请求进行拦截处理。Spring MVC中的拦截器( Interceptor)类似于Servlet中的过滤器(Fi...原创 2020-04-28 17:02:09 · 1675 阅读 · 0 评论 -
Spring MVC数据绑定 ----从入门到精通篇(三) POJO数据类型的绑定和自定义数据绑定
文章目录1.简单的POJO类型数据的绑定的使用2.绑定包装POJO数据类型3.自定义数据绑定-日期数据的转换前言:在使用简单数据类型绑定时,可以很容易的根据具体需求来定义方法中的形参类型和个数,然而在实际应用中,客户端请求可能会传递多个不同类型的参数数据,如果还使用简单数据类型进行绑定,那么就需要手动编写多个不同类型的参数,这种操作显然比较繁琐。那么我们将采取何种方式处理呢?如果是某种特殊类...原创 2020-04-27 21:14:37 · 3823 阅读 · 0 评论 -
Spring MVC数据绑定 ----从入门到精通篇(四) 复杂数据绑定类型
文章目录前言1.数组绑定2.集合绑定前言在学习完前面博客中讲解的简单数据绑定和POJO数据类型的绑定后,读者已经能够完成实际开发中多数的数据绑定问题,但仍可能遇到一些比较复杂的数据绑定问题,比如数组的绑定、集合的绑定,这在实际开发中也是十分常见的。在实际开发时,可能会遇到前端请求需要传递到后台一个或多个相同名称参数的情况(如批量删除),此种情况采用前面讲解的简单数据绑定的方式显然是不合适的。...原创 2020-04-27 14:05:08 · 681 阅读 · 0 评论 -
Spring MVC数据绑定 ----从入门到精通篇(二) 简单数据绑定类型
文章目录前言:Spring MVC默认的参数类型进行数据绑定基本数据类型的绑定前言:项目所需框架包:本次实验时基于(tomcat 8.5+jdk1.8)版本的,使用myeclipse自带的服务器和jdk也行!!!Spring MVC默认的参数类型进行数据绑定这个比较简单,这里就简单以以HttpServletRequest类型的使用为例,来演示默认数据类型绑定:在web.xml中配...原创 2020-04-27 10:56:17 · 545 阅读 · 0 评论 -
Spring MVC数据绑定---从入门到精通篇(一)
文章目录什么是数据绑定?什么是数据绑定?在执行程序时,SpringMVC会根据客户端请求参数的不同,将请求消息中的信息以一-定的方式转换并绑定到控制器类的方法参数中。这.种将请求消息数据与后台方法参数建立连接的过程就是SpringMVC中的数据绑定。在数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋给控制器...原创 2020-04-27 10:12:51 · 284 阅读 · 0 评论 -
如何解决“ No mapping found for HTTP request with URI [XXX] in DispatcherServlet with name 'XXX' ”
最近在学习Spring MVC参数绑定的过程中,控制台一直报错No mapping found for HTTP request with URI [] in DispatcherServlet with name ‘springmvc’!!!这个是我的项目。首先分析:No mapping found for HTTP request with URI [XXX] in DispatcherSe...原创 2020-04-19 23:13:48 · 31554 阅读 · 6 评论 -
深度剖析Spring MVC的注解开发
文章目录一、配置解析二、SpringMVC常用注解三,基于注解的Spring MVC应用前言最近闲来无事,在学习spring MVC过程中,发现配置文件有点繁琐,尤其是配置文件定义相关的映射多起来的时候。所以我们想起了注解的方式来解决这种问题!注解最大的好处就是简化了XML配置;其实大部分注解一定确定后很少会改变,所以在一些中小项目中使用注解反而提供了开发效率,所以没必要一头走到黑。一、配置...原创 2020-04-18 17:27:59 · 297 阅读 · 1 评论 -
一文入门Spring MVC(不可错过的科普性博客)!!!
ps.最近正在学习Spring MVC的相关知识,就对这些近日的学习做一个总结吧。文章目录1.1 什么是Spring MVC ?1.2 Spring MVC 入门程序1.3 Spring MVC 工作流程1.1 什么是Spring MVC ?Spring MVC框架是一个开源的Java平台,为开发强大的基于Java的Web应用程序提供全面的基础架构支持非常容易和非常快速。Spring框架最...原创 2020-04-14 22:49:30 · 289 阅读 · 0 评论 -
Resultmap和Resultype这两兄弟哪长得不一样???
在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。①当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,MyBatis...原创 2020-04-10 20:44:42 · 270 阅读 · 0 评论 -
多学一招之 MyBatis延迟加载的配置
ps。在我的一篇博客中,讨论过使用嵌套查询和嵌套结果的的区别,但是忘了提及一个实用的技巧。那就是MyBatis延迟加载!!!!如果想对这方面有更好地研究的话,可以借鉴一下这篇博客–【MyBatis学习11】MyBatis中的延迟加载,比较通俗易懂一些。如果可以的话,尝试看完我的几篇博客效果会更好一些。就是费点时间。...原创 2020-04-10 14:00:56 · 165 阅读 · 0 评论 -
探索嵌套查询和嵌套结果这对孪生子的秘密!!!
MyBatis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。嵌套查询是指通过执行另外一条SQL映射语句来返回预期的复杂类型;嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集。开发人员可以使用上述任意一种方式实现对关联关系的加载。...原创 2020-04-10 13:51:11 · 3598 阅读 · 0 评论 -
MyBatis的四十米大刀(高级映射)--个人与证件一对一关联查询(超详细解读)!!!
MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):cache – 该命名空间的缓存配置。cache-...原创 2020-04-10 13:27:17 · 610 阅读 · 0 评论 -
为啥mybatis的mapper只有接口没有实现类,但它却能工作?
说起mybatis,大伙应该都用过,有些人甚至底层源码都看过了。在mybatis中,mapper接口是没有实现类的,取而代之的是一个xml文件。也就是说我们调用mapper接口,其实是使用了mapper.xml中定义sql完成数据操作。大家有没想过,为什么mapper没有实现类,它是如何和xml关联起来的?一个简单的例子ok,别急,现在我们已经抛出问题,现在我们从demo开始,再结合我们所...原创 2020-04-05 23:31:20 · 1631 阅读 · 0 评论 -
SSM框架下--Mybatis配置LOG4J控制台输出sql语句
ps:作为spring学习的新手,在数据库与程序交互时的操作很重要,却也很容易出错!!有时候需要打印日志,知道mybatis执行了什么样的SQL语句,以便进行调试。而mybatis自身是没有带日志的,使用的都是第三方日志,这里讲解如何开启log4j日志功能。效果图如下:所要修改的部分主要在于日志文件log4j.properties和配置文件mybatis-config.xml。log4j...原创 2020-04-01 15:00:38 · 1823 阅读 · 0 评论 -
动态SQL--MyBatis的强大武器!!!
开发人员在使用JDBC或其他类似的框架进行数据库开发时,通常都要根据需求去手动拼装SQL,这是一个非常麻烦且痛苦的工作,而MyBatis提供的对SQL语句动态组装的功能,恰能很好地解决这一麻烦工作。在本篇博客中,我们将对MyBatis框架的动态SQL进行详细讲解。接下来先小试牛刀一把,先通过案例的展开,在进行元素的分析。数据库的表格设计:在Web项目下,创建com.zsj.mapp...原创 2020-03-31 00:00:01 · 156 阅读 · 0 评论 -
遇到Error building SqlSession.,解决办法
ps:当遇到这个问题时,我跟很多小伙伴一样,有事找度娘。查看了那么多,发现大多是配置文件mybatis-config.xml和映射文件的语法错误,这些都会在控制台(console)中有显示在xml对应的语法错误位置。除此之外最多的就是别名问题->>初学Mybatis时遇到 Error building SqlSession.的原因,看了半天,终于成功解决了我的错误没有相关位置的报错,...原创 2020-03-26 15:22:17 · 26031 阅读 · 0 评论 -
想了解MyBatis ?一篇文章搞定
文章目录1.什么是MyBatis?2.MyBatis的下载和使用3.MyBatis的工作原理4.MyBatis框架的基本使用1.什么是MyBatis?MyBatis (前身是iBatis )是一个支持普通SQL查询、存储过程以及高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索,并使用简单的XML或注解进行配置和原始映射,用以将接口和Java的POJO ( ...原创 2020-03-21 17:49:06 · 460 阅读 · 0 评论 -
初步了解--Spring事务管理
文章目录1. 事务管理的核心接口2.事务管理的方式2.1基于XML方式的事务说明2.2基于注解(Annotation)方式的事务说明1. 事务管理的核心接口1. PlatformTransactionManagerPlatformTransactionManager接口是Spring提供的平台事务管理器,主要用于管理事务。该接口中提供了3个事务操作的方法,具体如下。●Transacti...原创 2020-03-18 23:39:22 · 264 阅读 · 0 评论 -
Spring的数据库的开发--使用jdbc Tesmplate对数据库进行操作(2)
ps.在JdbcTemplate类中,提供了大量的更新和查询数据库的方法,我们就是使用这些方法来操作数据库的。接下来将对JdbcTemplate类中一些常用方法的使用进行详细讲解。项目所需的框架包:请点击》》链接 提取码:v9yb所使用的数据库图形化工具为SQLyog.请点击》》链接 提取码:5ly0注意:所使用的数据库为MySQ5.0版本的,如果更换数据库请到官网下载相...原创 2020-03-14 15:54:43 · 346 阅读 · 0 评论 -
Spring中的数据库开发--Spring JDBC模块的配置(1)
ps.Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从烦琐的数据库操作中解脱出来,从而将更名的精力投入到编写业务逻辑中。Spring JDBC模块主要由4个包组成,分别是core (核心包)、dataSource (数据源包)、object (对象包)和support (支持包)。Spring JDBC中的主要包及说明core—包...原创 2020-03-14 14:55:43 · 916 阅读 · 0 评论 -
Spring简要说明
**Spring** 是由 Rod Johnson 组织和开发的一个分层的 Java SE/EE fu川一stack (一站式)**轻量级开源框架**,它以 **loC ( Inversion of Control ,控制反转)**和 **AOP ( Aspect Oriented Programming)** , **面向切面编程)为内核**,使用基本的 JavaBean 来完成以前只可能由 E...原创 2020-02-18 23:25:46 · 308 阅读 · 0 评论 -
解读Spring松耦合的特点
ps:我们将通过一个简单的Spring小程序来解读这个名词。在 Eclipse 中,创建一个名为 chapter01 的 Web 项目,将 Spring 的 4 个基础包以及 commons-Iogging 的 JAR 包复制到 lib 目录中,并发布到类路径下。在srC目录下,创建一个com.itheima.ioc包,并在包中创建接口UserDao, 然后在接口中定义一个say()...原创 2020-02-27 17:43:01 · 511 阅读 · 0 评论 -
浅谈Spring Bean
ps:Spring有很多概念,其中最基本的一个就是bean,那到底spring bean是什么?Bean是Spring框架中最核心的两个概念之- - (另- -个是面向切面编程AOP)。是否正确理解Bean对于掌握和高效使用Spring框架至关重要。遗憾的是,网上不计其数的文章,却没有简单而清晰的解释。那么,Spring bean到底是什么?首先我们来看看官方的解释:Spring ...原创 2020-02-27 20:34:13 · 257 阅读 · 0 评论 -
实例化Bean的三种方式
ps:在面向对象的程序中,想要使用某个对象,就需要先实例化这个对象。同样,在Spring中,要想使用容器中的Bean,也需要实例化Bean。实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)。接下来将分别对这三种实例化Bean的方式进行详细讲解。代码运行所需要的Spring框架包下载地址:链接:https://pan.bai...原创 2020-03-02 12:37:55 · 897 阅读 · 0 评论 -
Spring Bean的装配方式
Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式。Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解IAnnotation的装配和自动装配等(其中最常用的是基于注解的装配)。1.基于XML的装配Spring提供了两种基于XML的装配方式:设值注入( Setter Injection) 和构造注入( Constructor Inj...原创 2020-03-06 13:44:49 · 471 阅读 · 0 评论 -
开发AOP的途径--基于底层代理(1)(超详细)
#1.什么是AOP?AOP的全称是Aspect -Oriented Programming,即面向切面编程(也称面向方面编程)。它是面向对象编程(00P)的一种补充,目前已成为一种比较成熟的编程方式。在传统的业务处理代码中,通常都会进行事务处理、日志记录等操作。虽然使用0OP可以通过组合或者继承的方式来达到代码的重用,但如果要实现某个功能(如日志记录),同样的代码仍然会分散到各个方法中。这样,...原创 2020-03-08 16:26:36 · 410 阅读 · 0 评论 -
开发AOP的途径--AspectJ开发 (2) (超详细)
AspectJ是一个基于Java语言的AOP框架,它提供了强大的AOP功能。Spring 2.0以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进行编程,而Spring自身的AOP API也尽量与AspectJ保持一致。 新版本的Spring框架,也建议使用AspectJ来开发AOP。使用AspectJ实现AOP有两种方式:一种是基于XML的声明式AspectJ...原创 2020-03-08 22:07:58 · 632 阅读 · 0 评论