![](https://img-blog.csdnimg.cn/20200512111444578.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SSM
文章平均质量分 89
Spring+Spring MVC +MyBatis
Modify_QmQ
保持热爱,奔赴山海
展开
-
MyBatis-Plus 详解
mybatispuls :- - > 直达MyBatis Plus 官方文档(在这里 MyBatis Plus 的特性不做介绍,可以前往官方文档进行浏览)直接使用idea的springboot的快速初始化进行构建项目进行依赖的添加,使用下方5个依赖即可,之后next进行构建即可,在构建项目的时候等待的时间略长,等待项目的构建完成,我们在使用mybatis plus 首先添加依赖到pom.xml文件当中,等待依赖添加完成...原创 2021-03-17 20:44:31 · 816 阅读 · 1 评论 -
SSM项目实战 —— 物流管理系统的实现
一 、项目准备项目分层action 层:数据交互;service 层:访问数据库表的服务类,供 action 调用;dao 层:各实体对象执行数据操作db 层:执行 sql 代码entity 层:对变量的 get./set 封装项目根据原先的物流管理进行重写,之前是使用的servlet进行编写的,现在使用SSM相关的技术进行实现这个项目。servlet实现 单击前往 二 、数据库的创建在这里就不过多的累述了,在上面的那篇文章当中是有给出相关的数据库创建的代码,在这里使用的是同一个数..原创 2020-11-05 17:10:51 · 2584 阅读 · 0 评论 -
SSM 严重: 子容器启动失败Failed to start component [StandardEngine[Catalina].StandardHost[localhost]
在一个SSM项目当中运行了一个jsp文件,之后弹出了这个报错:报错如下严重: 子容器启动失败java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Logistics]]之后点进了server当中进行查看,发原创 2020-10-01 17:52:17 · 1318 阅读 · 0 评论 -
Spring的文件上传与下载详解
1. 文件上传多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单必须满足以下3个条件:form表单的method属性设置为post;form表单的enctype属性设置为multipart/form-data;提供的文件上传输入框 <form action="uploadUrl" method="post" enctype="multipart/form-data"> <input type="原创 2020-06-17 09:15:09 · 668 阅读 · 0 评论 -
Spring MVC 的拦截器详解(登录案例实现)
Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。拦截器的定义1. 实现HandlerInterceptor接口,或继承HandlerInterceptor接口的实现类(如HandlerInterceptorAdapter)来定义以实现HandlerInterceptor接口方式为例,自定义拦截器类的代码如下图所示:拦截器的执行流程在原创 2020-06-03 20:51:41 · 6706 阅读 · 1 评论 -
Spring MVC 的JSON 数据交互 和RESTful支持
JSON数据交互JSON概述JSON与 XML 非常相似,都是用于存储数据的,但是JSON 相对于XML来说,解析速度更快,占用空间更小,因此在实际开发中,使用 JSON式的数据进行前后台的数据交互是很常见的。JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它是基于JavaScript的一个子集,使用了C、C++、C#、Java、JavaScript、Perl、Python等其他语言的约定,采用完全独立于编程语言的文本格式来存储和表示数据。J原创 2020-05-27 14:54:48 · 743 阅读 · 0 评论 -
Spring MVC的数据绑定(复杂数据绑定——数组与集合)
1. 数组的绑定当前端请求需要传递到后台一个或多个相同名称参数的情况 (如批量删除),此种情况采用前面讲解的简单数据绑定的方式显然是不合适的,此时,就可以使用绑定数组的方式来完成。创建一个展示用户信息的列表页面 user.jsp。如下:定义了 name 属性相同而 value 属性值不同的复选框控件,并在每一个复选框对应的行中编写了一个对应用户,在单击"删除"按钮执行删除操作时,表单会提交到一个以 “/DeleteUsers” 结尾的请求中。<%@ page language="java" c原创 2020-05-20 20:29:13 · 1707 阅读 · 0 评论 -
Spring MVC的数据绑定(简单数据绑定+POJO类型绑定)
数据绑定的简单介绍在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据与后台方法参数建立连接的过程就是Spring MVC中的数据绑定。数据绑定的完成操作在数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋给控制器类中方法的形参,这样后台方法就可以正确绑定并获取客户端请求携带的参数了。Spring MVC将ServletRe原创 2020-05-13 11:45:50 · 6301 阅读 · 0 评论 -
No mapping for POST SSM报错
给出的报错信息如下:五月 13, 2020 11:18:57 上午 org.springframework.web.servlet.PageNotFound noHandlerFound警告: No mapping for POST /DataBanding/registerUser从前一个页面进行跳转:跳转之后,报错404在前面的跳转是一个form表单:<form action="${pageContext.request.contextPath }/registerUser" m原创 2020-05-13 11:28:27 · 6652 阅读 · 0 评论 -
Spring MVC 的核心类和注释实现MVC程序
在前文 第一个 Spring MVC程序 :是使用实现Controller接口的方式来开发一个控制器。在Spring 2.5 之后,新增加了基于注解的控制器以及其他一些常用注解。1.DispatcherServletDispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充当着前端控制器的角色。在使...原创 2020-05-06 20:45:30 · 512 阅读 · 0 评论 -
Spring MVC 的工作流程详解
在实际开发中,我们的实际工作主要集中在控制器和视图页面上,但Spring MVC内部完成了很多工作,这些程序在项目中具体是怎么执行的呢?用户通过游览器向服务器发送请求,请求会被Sping MvC的前端控制DispatcherServlet所拦截DispatcherServlet拦截到请求后,会调HanleMapping处理器映射器:处理器映射器根据请求URL找到具体的处理器,生成处理器对...原创 2020-05-06 17:59:54 · 186 阅读 · 0 评论 -
第一个 Spring MVC 程序详解(从0到1)
Spring概述Spring MVC是Spring提供的一一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts 2更加优异。Spring MVC具有如下特点:是Spring框架的一部分,可以方便地利用Spring所提供的其他功能。灵活性强,易于与其他框架集成。提供了一个前端控制器DispatcherServ...原创 2020-05-06 11:04:05 · 458 阅读 · 0 评论 -
MyBatis与Spring的整合(传统的DAO方式和Mapper接口方式)
开发环境,jar包的引入要实现 MyBatis Spring 的整合,很明显需要这两个框架的 JAR 包,但是只使用这两个框架中所提供的 JAR 包是不够的,还需要其他的 JAR 包来配合使用,整合时所需准备的 JAR 包真体如下:Spring框架所需的jar包:Spring 框架所需要准备的JAR包共10个,其中包括:4个核心模块 JAR AOP 开发使用JAR JDBC 和事务的 JA...原创 2020-04-22 14:05:28 · 3011 阅读 · 0 评论 -
Please initialize the log4j system properly. 警告
请正确初始化log4j系统。警告这是因为没有编写log4j文件添加文件:# Global logging configurationlog4j.rootLogger=ERROR, stdout# MyBatis logging configuration...log4j.logger.com.lzq=DEBUG# Console output...log4j.appender.s...原创 2020-04-22 11:22:47 · 1520 阅读 · 0 评论 -
Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 报错
报错消息如下:在这里的db.properties文件当中需要把后面的空格都清除掉把空格清除掉即可。原创 2020-04-22 10:58:31 · 2326 阅读 · 0 评论 -
MyBatis的关联映射之 一对多 和 多对多
MyBatis的关联映射之 一对一(嵌套查询/嵌套结果)单击前往一对多的关系在一个用户拥有多个订单的案例当中将会使用到一对多的关系映射:在MyBatis当中的resultMap元素的子元素collection就是用于一对多关系映射的。该元素的属性基本与association的属性一致:其中ofType对应的是javaType:它是用于指定实体对象中集合类属性所包含的元素类型。因此,需要建立一...原创 2020-04-17 17:49:20 · 2308 阅读 · 0 评论 -
MyBatis的关联映射之 一对一(嵌套查询/嵌套结果)
关联映射概述在实际的开发中,对数据库的操作常常会涉及多张表,这在面向对象中就涉及了对象与对象之间的关联关系 针对多表之间的操作, MyBatis 提供了关联映射,通过关联映射就可以很好地处理对象与对象间的关联关系关联映射概述...原创 2020-04-15 11:45:55 · 4407 阅读 · 1 评论 -
MyBatis映射文件Mapper.xml详解
映射文件是 MyBatis 框架中十分重要的文件 可以说, MyBatis 框架的强大之处就体现在映射文件的编写上。在映射文件中,<mapper>元素是映射文件的根元素,其他元素都是它的子元素。Select元素<select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据。如下代码所示:<select id="findCustomerById" pa...原创 2020-04-10 22:10:21 · 6281 阅读 · 2 评论 -
MyBatis的核心配置文件标签详解
在MyBatis框架的核心配置文件中,<configuration>元素是配置文件的根元素,其他元素都要在<configuration>元素内配置。 具体元素层次结构如下图所示:properties元素<properties>是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配置来动态的替换内部定义的属性。例如,数据库的连接等属性,就可以...原创 2020-04-09 17:56:58 · 2147 阅读 · 0 评论 -
MyBatis的动态SQL(元素简介+元素使用)二
前一篇博文 MyBatis的动态SQL(元素简介+元素使用)一set元素<set>元素主要用于更新操作,其主要作用是在动态包含的 SQL 语句前输出一个 SET 关键字,并将 SQL 语句中最后一个多余的逗号去除以入门案例中的更新操作为例,使用<set>元素对映射文件中更新客户信息的 SQL 语句进行修改的代码如下所示:其中表示根据给出的id对电话花吗进行修改(更新...原创 2020-04-08 15:44:55 · 1526 阅读 · 0 评论 -
MyBatis的动态SQL(元素简介+元素使用)一
动态SQL是MyBatis的强大特性之一,MyBatis3采用了功能强大的基于OGNL的表达式来完成动态SQL。动态SQL主要元素如下表所示:在使用之前:导入相对应的包:第一个程序相同包并且代码在原先的基础上进行修改,新建一个com.lzq.utils包在里面新建一个class类,类名为:MybatisUtils,相当于将每一个测试当中的公共部分抽离出来放在这一个新的类当中,方法定义为静态方...原创 2020-04-08 14:44:59 · 2544 阅读 · 0 评论 -
MyBatis的核心对象
在使用 MyBatis 框架时,主要涉及两个核心对象:SqlSessionFactory与SqlSession,它们MyBatis 框架中起着至关重要的作用SqlSessionFactory是对单个数据库映射关系经过编译后的内存镜象。其主要作用是创建SqlSession。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来构建,而SqlS...原创 2020-04-01 11:27:52 · 1121 阅读 · 0 评论 -
MyBatis的增删改操作 insert update delete
首先需要在配置文件当中配置sql语句,然后在测试类当中调用即可。insert语句在原先的CustomerMapper.xml文件当中的mapper标签当中添加insert标签。<insert id="addCustomer" parameterType="com.lzq.po.Customer"> insert into t_customer(username,jobs,ph...原创 2020-04-01 10:51:27 · 391 阅读 · 0 评论 -
MyBatis的模糊查询
首先定义一条模糊查询的语句:在配置文件当中传入的值是一个模糊查询的like后面的值,使用String类型,返回值使用这个类<!-- 模糊查询 --> <select id="findCustomerByValue" parameterType="String" resultType="com.lzq.po.Customer"> select * from t_...原创 2020-04-01 09:27:26 · 167 阅读 · 0 评论 -
Spring JDBC事务管理(声明式)
Spring 的声明式事务管理可以通过两种方式来实现,一种是基于 XML 的方式,另一种是基于Annotation注解的方式一、基于xml文件的方式基于XML方式的声明式事务是在配置文件中通过<tx:advice>元素配置事务规则来实现的。当配置了事务的增强处理后,就可以通过编写的AOP配置,让Spring自动对目标生成代理。配置<tx advice>元素时,通常需要指...原创 2020-03-28 12:02:08 · 350 阅读 · 0 评论 -
Spring的事务管理及其核心接口概述
事务管理的核心接口在Spring的所有JAR包中,包含一个名为spring-tx-5.2.3.RELEASE的JAR包,该包就是Spring提供的用于事务管理的依赖包。在该JAR包的org.springframework.transaction包中,有3个接口文件PlatformTransactionManager、TransactionDefinition和TransactionStatus,...原创 2020-03-27 21:59:16 · 2193 阅读 · 0 评论 -
MyBatis的第一个程序
使用 MyBatis框架根据客户编号查询客户信息,以及根据客户名模糊查询客户信息。首先在数据库当中创建一个表,并且给表插入语几条数据:创建目标数据库CREATE DATABASE mybatisUSE mybatisCREATE TABLE t_customer ( id INT(32) PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50...原创 2020-03-27 20:57:03 · 317 阅读 · 0 评论 -
Hibernate和MyBatis框架的区别
Hibernate框架的特点Hibernate是一个全表映射的框架。通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作。开发者并不需要熟练的掌握SQL语句的编写,Hibernate会根据制定的存储逻辑,自动的生成对应的SQL,并调用JDBC接口来执行,所以其开发效率会高于MyBatis。Hibernate也存在一些缺点,例如它在多表关...原创 2020-03-26 20:28:33 · 341 阅读 · 0 评论 -
MyBatis包的下载及概述
下载MyBatis包:https://github.com/mybatis/mybatis-3/releases打开链接,往下滑会有很多的版本:以下下载3.5.4:如图下载完成后解压文件,在lib文件夹下就会有所余姚的jar包:...原创 2020-03-26 17:03:55 · 350 阅读 · 0 评论 -
Spring JdbcTemplate 的常用方法之execute update query方法
在JdbcTemplate核心类中,提供了大量的更新和查询数据库的方法,我们就是使用的这些方法来操作数据库的。常用方法如下图所示:1.0 execute原创 2020-03-19 21:18:15 · 1503 阅读 · 1 评论 -
Spring JDBC概述
Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库操作中解脱出来,从而将更多的精力投入到编写业务逻辑当中。 针对数据库的操作,Spring框架提供了JdbcTemplate类,该类是Spring框架数据抽象层的基础。可以说,JdbcTemplate类是Spring JDBC的核心类。JdbcTemplate类的继承结构具体如下...原创 2020-03-19 17:51:02 · 247 阅读 · 0 评论 -
jdbc包的下载,链接mysql数据库
下载地址 :https://dev.mysql.com/downloads/选择connector/j下拉框选择如下图所示,再根据自己电脑的操作系统进行下载:下载后解压就可以看到我们需要使用的jar包了...原创 2020-03-19 17:44:46 · 1408 阅读 · 0 评论 -
aopalliance包的下载
在该网址下下载:https://mvnrepository.com/artifact/aopalliance/aopalliance/1.0如下图所示:选择那个4kb的jar包下载即可原创 2020-03-18 10:20:52 · 1964 阅读 · 0 评论 -
基于XML文件配置的AOP切面开发及通知类型
AspectJ 是一个基于Java语言的AOP框架,它提供了强大的 AOP 功能Spring 2.0 以后, Spring AOP 引入了对 AspectJ 的支持,并允许直接使用 AspectJ 进行编程,而 Spring 自身的 AOPAPI 也尽量与 AspectJ保持一致。新版本的 Spring 框架,也建议使用 AspectJ 来开发 AOP。 使用 AspectJ 实现 AOP 有两种...原创 2020-03-18 10:28:01 · 654 阅读 · 0 评论 -
Spring的AspectJ包的下载及下载缓慢的解决方法
在Spring当中进行AspectJ开发的试试需要用到这一个包。下载地址:https://www.eclipse.org/aspectj/downloads.php打开后,下载稳定版:点击后,进入下载界面:如下图:选择Select another mirror随后选择,中国的地址下载:这边可以看自己所处地区下载,我这边是选择中国科学技术大学的下载。...原创 2020-03-18 09:29:35 · 1368 阅读 · 0 评论 -
Spring 的通知类型
Spring 中的通知按照在目标类方法的连接点位置,可以分为以下 5 种类型:org. aopalliance.intercept.MethodInterceptor (环绕通知) 在目标方法执行前后实施增强,可以应用于曰志、事务管理等功能。org.springframework.aop.MethodBeforeAdvice (前置通知) 在目标方法执行前实施增强,可以应用于权限管理等功能。...原创 2020-03-17 16:45:56 · 1430 阅读 · 0 评论 -
JavaSpring框架 AOP动态代理
AOP 中的代理就是由 AOP 框架动态生成的一个对象,该对象可以作为目标对象使用。Spring 中的 AOP 代理,可以是 JDK 动态代理,也可以是 CGL旧 代理。jdk代理JDK 动态代理是通过 java.lang.reflect. Proxy 类来实现的,我们可以调用 Proxy 类的 newProxylnstance()方法来创建代理对象。 对于使用业务接口的类, Spring默认...原创 2020-03-17 11:39:00 · 319 阅读 · 0 评论 -
Spring AOP面向切面编程概述
AOP 的全称是 Aspect-Oriented Programming ,即面向切面编程(也称面向方面编程)。 它 是面向对象编程 (OOP) 的一种补充,目前已成为一种比较成熟的编程方式。在传统的业务处理代码中,通常都会进行事务处理、日志记录等操作。 虽然使用 OOP 可以 通过组合或者继承的方式来达到代码的重用,但如果要实现某个功能(. 如日志记录),同样的代 码仍然会分散到各个方法中 。...原创 2020-03-13 13:13:31 · 258 阅读 · 0 评论 -
JavaSpring Bean的装配方式详解
Spring支持三种形式的Bean的装配方式,分别基于XML的装配、基于注解的装配和自动装配。原创 2020-03-09 08:49:02 · 338 阅读 · 0 评论 -
JavaSpring Bean的生命周期
Spring中Bean的生命周期的意义:可以利用Bean在其存活期间的特定时刻完成一些相关操作。这种时刻可能有很多,但一般情况下,常会在Bean的postinitiation(初始化后)和predestruction(销毁前)执行一些相关操作。Bean的生命周期管理: Spring容器可以管理Bean部分作用域的生命周期。singleton作用域Spring容器可以管理singleton作...原创 2020-03-04 11:49:13 · 349 阅读 · 0 评论