
SSM
文章平均质量分 63
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
小小渔夫
我只是一粒灰尘,呼吸着神圣的气息,是你使我转向你。
展开
-
填坑MyBatis中Integer类型传参问题
MyBatis传参Integer类型未生效的问题原创 2023-07-07 14:30:31 · 1006 阅读 · 0 评论 -
【SpringMVC】工作流程
SpringMVC工作流程介绍原创 2022-11-10 17:39:41 · 586 阅读 · 0 评论 -
使用Spring AOP实现日志记录
SpringAOP实现日志记录原创 2022-08-13 14:54:58 · 303 阅读 · 0 评论 -
Spring AOP相关概念知悉
Spring AOP相关概念介绍原创 2022-07-07 14:14:59 · 216 阅读 · 0 评论 -
【SSM】使用拦截器实现对用户登录的控制
背景某次因为需要调试系统的原因,到车间进行系统调试。一同事在操作系统时发现,在浏览器收藏的标签里保存的是某一个功能页的网址。导致进入浏览器默认打开这个网址,虽然进入页面,但是由于没有登录,主体内容报错。这就是本次分享的原因:假使我们使用了拦截器,即使知道页面的地址,在没有登录的情况下,预期情况是页面被拦截,重新跳转到登录页面。介绍在对拦截器实现对用户登录的控制前,我们需要了解其原...原创 2020-01-10 15:05:38 · 2374 阅读 · 2 评论 -
【SSM】使用Tomcat将项目部署到远程服务器
背景部署的项目是基于SSM框架开发,在开发完成后需要部署在远程服务器。在部署过程中出现404错误,如图:重新打war包,查看logs,查看配置文件,就是没有解决。捯饬了一上午,问题原因终于找到:配置文件没有打进war包,虽然maven编写了,但是就没有打成功。之后改配置,重新打war包,问题解决。对于项目部署在服务器总结一下。总结1、配置本地maven文件<?x...原创 2019-12-06 12:00:48 · 2125 阅读 · 0 评论 -
SSM实现分页查询
前言分页基本上是我们项目中所必须的功能,当数据量过大时,可能会导致各种各样的问题发生,例如:服务器资源被耗尽,因数据传输量过大而使处理超时,等等。最终都会导致查询无法完成。解决这个问题的一个策略就是“分页查询”,也就是说不要一次性查询所有的数据,每次只查询一“页“的数据。这样分批次地进行处理,可以呈现出很好的用户体验,对服务器资源的消耗也不大。本文主要是使用limit来实现分页的查询。...原创 2020-01-08 10:53:28 · 2268 阅读 · 5 评论 -
SSM整合Logback日志框架
介绍logback是java的日志开源组件,是log4j的作者开发的用来替代log4j的。logback由三个部分组成,logback-core, logback-classic, logback-access。其中logback-core是其他两个模块的基础。logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API,使我们可以在其他日志系...原创 2019-12-09 11:00:23 · 688 阅读 · 0 评论 -
SSM项目静态资源加载的实现
前言近期做了一个小项目,前端框架使用的是Bootstrap。代码、配置一切搞点后,跑起来没有达到我要的效果,分析后发现是静态资源没有加载。下面就SSM项目下静态资源加载的实现做一个记录。实现1、修改web.xml配置//加入以下配置<servlet-mapping> <servlet-name>default</servlet-name>...原创 2019-12-05 14:58:52 · 1176 阅读 · 4 评论 -
SSM多数据源配置(Oracle驱动的引入)番外篇
前言进行多数据源配置的时候,需要在pom文件中引入mysql和Oracle的jar包。但是oracle的jar包引入出错:Missing artifact com.oracle:ojdbc14:jar:xxxx.出错原因是:Oracle商业版权问题,Maven中央仓库没有这个资源。解决下载jar包下载oracle的jar包,由于现在进入官网下载需要登录。故提供链接如下:...原创 2019-12-03 11:21:07 · 277 阅读 · 0 评论 -
SSM多数据源配置(MySQL+Oracle)
背景最近在写一个小项目时,项目数据库是MySQL。但是项目中需要获取另外一个数据库的数据以便使用,并且另一个数据库是Oracle。所以就需要在项目中配置多数据源。下面就简单介绍下SSM框架是如何配置多数据源的。原理MyBatis在创建SqlSession时,动态的使用不同的DataSource,这样就可以动态的使用不同的数据源。如何动态的使用不同的dataSource。在Spri...原创 2019-12-03 11:03:47 · 1124 阅读 · 2 评论 -
【SpringMVC】Controller之单例模式
单例模式作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问入口1、举栗子1.Windows的任务管理器2.Windows的回收站,也是一个单例应用3.SpringMVC的控制器2、优点1.减少了系统的性能开销,当一个对象需要产生时,当时消耗的资源较多。那么产生对象时构建的方式就可以通过单例去构建。2.单例模式存在全局访问点,所以可以优化共享资源访问。3、常见...原创 2020-02-26 16:25:19 · 1724 阅读 · 2 评论 -
【SpringMVC】静态资源无法加载问题
背景上篇文章中分享到SSM拦截器的添加,紧接着最近出现登录页面时而加载不出样式,报错信息为:Uncaught SyntaxError:Unexpected token '<'。怎么解决呢?首先的思路就是是不是前端html设置,css路径设置错了?木有呀,没有加样式类型,也没有!一顿操作猛如虎呀,就是没有解决。最后想到可能是拦截器的原因,修改拦截器配置,果然解决了。错误截图...原创 2020-01-12 16:26:20 · 1314 阅读 · 0 评论 -
Spring依赖注入提示:Field injection is not recommended
spring 4.0开始不推荐使用属性注入,改为推荐构造器注入和setter注入。思考:为什么不推荐使用,这种方式是不是有更好的替代方案。优点 注入方式简单:字段上附上注解@AutoWired即可。 可观性强:整体代码简洁明了。缺点 无法用于final修饰的变量:final类型的变量在调用class的构造函数的这个过程当中就得初始化完成,这个是基于字段的依赖注入做不到的地方,只能使用基于构造函数的依赖注入的方式. 掩饰单一职责的设计思想:如果采用的是基于构造函数的依赖注入来使用S原创 2022-06-23 10:21:56 · 2340 阅读 · 4 评论 -
Spring整合Ehcache缓存的配置及使用
前言 在java项目广泛的使用中。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中。特点1、 够快 Ehcache的发行有一段时长了,经...原创 2018-03-28 12:15:12 · 1294 阅读 · 0 评论 -
Spring注解@RequestMapping、@ResponseBody 和 @RequestBody用法
背景:帮助同事解决文件上传的bug(文件上传成功,但是页面提示上传接口异常,数据的确是插入了),从前端layui页面找错误,然后浏览器调试,找了半天无果。layui文件上传格式code返回是数值,后台返回是success。然后尝试从后台返回值入手,使用map返回。结果告败。最后当我回到位置上运行自己的项目时,想起来了,可能是后台没有响应体。果然是,bingo解决!@RequestM...原创 2018-04-12 10:20:21 · 3097 阅读 · 2 评论 -
Spring 事务管理
事务管理一个数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行,要么完全不执行。事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性说成是ACID: 原子性:事务应该当作一个单独单元的操作,这意味着整个序列操作要么是成功,要么是失败的。 一致性:这表示数据库的引用完整性的一致性,...原创 2020-03-03 09:48:27 · 169 阅读 · 0 评论 -
Spring IOC理解
What is IOC?Inverse of Control--IOC,控制反转,将对象的控制权反转给Spring!使用IOC可以解决程序的耦合性高的问题控制反转假设我需要一个功能,在这个功能当中我需要调用service层,然后再调用dao层,去取数据。传统的javaEE开发直接new一个service然后再new一个dao。在spring中,把这个new的过程交给spring框架。...原创 2018-11-26 20:05:32 · 230 阅读 · 0 评论 -
MyBatis新增返回主键的两种方法
MyBatis新增时返回主键值原创 2022-06-02 11:12:28 · 3605 阅读 · 0 评论 -
MyBatis关联查询
目录概念一对一关联查询实现方式一对多关联查询多对多关联查询概念关联查询,是一种级联关系,级联关系是一个数据库实体的概念。在级联中存在 3 种对应关系。一对一的关系:一个学生有一个学号。 一对多的关系:一个班级有很多学生。 多对多的关系:有些公司一个角色可以对应多个用户,但是一个用户可以兼任多个角色。通俗的说,一个人既可以是总经理,同时也是技术总监,而技术总监这个职位可以对应多个人,这就是多对多的关系。一对一关联查询一对一级联关系在现实生活中是十分常见的,例如原创 2022-03-10 11:33:15 · 1197 阅读 · 0 评论 -
MyBatis和ORM的区别
ORMORM: 即Object Relation Mapping,即对象关联映射。所以ORM就是将Java中的对象和数据库中的表关联对应起来MyBatisMybatis相当于将mapper中的入参和出参结果集封装到java的POJO类中,实际上Mybatis是半ORM,它鼓励开发人员自己去写sql,也正是因为sql语句要自己写,所以Mybatis是将java方法与sql语句关联起来,而没有将java对象与数据库关联起来。补充流行的ORM框架1、JPA:JPA本身是一种ORM规.原创 2022-02-16 10:45:12 · 2589 阅读 · 0 评论 -
MyBatis缓存机制-Note
前言MyBatis是常见的Java数据库访问层框架,在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,MyBatis提供的缓存机制可以减轻数据库压力,提高数据库性能。MyBatis的缓存分为两级:一级缓存、二级缓存一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效。二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的。一级缓存一级缓存为 sqlsesson 缓存,缓存的数据原创 2022-02-16 10:18:59 · 202 阅读 · 0 评论 -
Mybatis 判断字符串null不生效
场景使用Mybatis进行非空判断,但是发现控制台打印的日志中显示,!=null没有生效。源代码<if test="applicationName != null and applicationName != ''"> AND ol.method_name like CONCAT("%",#{applicationName,jdbcType=VARCHAR},"%")</if>解决经排查发现,前端传参null为字符串null,难怪!=null.原创 2021-09-10 15:12:29 · 4318 阅读 · 0 评论 -
扫雷(一):MyBatis查询结果为null,但数据库查询存在该记录
背景在实现一个查询数据的需求中,新建表,然后一步一步写mapper,写Dao等等。所有写完后,开始启动运行。页面中显示有一列有数据,但是其他列无数据。一脸懵有木有...然后后台将List打印出来,仍是空,sql查询语句有毛病,验证了之后完全没毛病。最后发现是Java实体类的命名和数据库不一致。问题:数据库的字段 order_id,line_stationJava的实体类中对应字段...原创 2019-12-24 17:00:42 · 901 阅读 · 0 评论 -
项目开发中使用MyBatis时的错误记录
1、返回类型错误Notenested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.XXX.park.model.XXX with invalid types (String,String,String,String,String,String,...原创 2018-06-08 15:25:29 · 296 阅读 · 0 评论 -
MyBatis实现模糊查询的三种方式
概念模糊查询即模糊检索,是指搜索系统自动按照用户输入关键词的同义词进行模糊检索,从而得出较多的检索结果。与之相反的是“精准搜索”。对于MyBatis来说大概有如下几种方式实现:①使用$占位符,②使用数据库函数concat,③使用 MyBatis的动态SQL标签<bind>,本文主要重点介绍第二种方法的实现。方法一直接使用 % 拼接字符串,如'%'#{name}'%...原创 2020-01-08 11:23:38 · 3885 阅读 · 4 评论 -
MyBatis逆向工程(二)数据源—Oracle
前言在上一篇博客中,分享了如何使用Mybatis逆向生成POJO以及Mapper文件。这篇文章分享的是基于MySQL数据库,今天我们来看看基于Oracle数据库,如何使用Mybatis逆向生成文件。分享之前插入一个话题,就是为什么使用逆向工程。(ps:虽然好用,也要知其然)正向工程正向工程是通过实现语言的映射而把模型转换为代码的过程。一般工业产品开发是从确定预期功能与规格目标开始,构思...原创 2019-11-29 16:22:23 · 1073 阅读 · 0 评论 -
MyBatis逆向工程
关于MyBatis MyBatis支持普通sql查询,MyBatis是一个持久层框架,支持定制化(按开发需求编写)SQL,支持存储及高级映射。MyBatis不像JDBC代码,手动设置参数及获取结果集。它可以对配置和原生Map使用简单的XML或注解,将接口和普通的java对象映射成数据库中的记录。MyBatis的优缺点优点:简单易学: 本身就很小且简单。没有任何第三方依赖,最简单安装只要两个...原创 2018-05-22 15:35:09 · 3480 阅读 · 2 评论 -
MyBatis如何防止SQL注入
SQL注入 什么是SQL注入呢?首先SQL注入是一种攻击手段,一种使用构造恶意的SQL语句,欺骗服务器执行SQL命令,让后台的数据库去解析,从而达到入侵目标网络,获取敏感信息。MyBatis如何防止SQL注入SQL中#和$区别#$相当于对数据加上双引号相当于直接显示数据很大程度上防止SQL注入无法防止SQL注入#{xxx},使用的是PreparedStatement,会有类型转换,比较安全${x...原创 2018-05-22 16:34:04 · 907 阅读 · 0 评论 -
MyBatis返回类型
分类及返回值类型对应的分类为resultMap resultType对应返回值类型resultMap:结果集 resultType:int,string ,long ,class要点在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。1、当提供的返回类型属性是resultType时,MyBatis会将Ma...原创 2019-06-10 18:14:01 · 9633 阅读 · 0 评论 -
RESTFul API设计指南及使用说明
RESTFulAPI设计指南及使用说明一、 协议API与用户的通信协议,使用HTTP协议。二、 域名应尽量将API部署在专用域名之下(http://api.example.com)也可以将API放在主域名下(http://example.com/api)三、 版本应该将API的版本号放入URL(http://example.com/api/v1.0)四、 路径与映射...原创 2018-03-30 14:50:33 · 732 阅读 · 0 评论