使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)
以上两篇已经把流程说明以及具体的代码实现完成,下面来说下,开发中经常遇到的问题,总结如下所示:
1.启动查询时,会报错:SQL dialect is not configured ,
提示你配置方言,打开菜单File,选择settings,然后在inspection - sql -中把方言的√去除,截图如下所示:

2.启动时:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
这个是说明根据表生成的接口文件(PersonMapper.java)和映射文件(PersonMapper.xml)文 件没有绑定成功,导致PersonMapper接口中的方法是找不到对应的映射文件中的SQL ID,需要注意下,接口文件和映射文件是一一匹配对应,都没问题,需要看看文件是否扫描到。
当还没有解决问题时,可以在pom.xml文件中添加如下配置:
在pom.xml文件中的build中添加如下信息:
<resources>
<resource>
<directory>src/main/java</directory><!--所在的目录-->
<includes><!--包括目录下的.properties,.xml文件都会扫描到-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
这个是因为你在maven工程创建以后,看看编译后的目录里面有没有XML问,如下图所示,我的就是没有编译后的XML文件,导致绑定失败,添加后成功了:

3.web中报错:Element async-supported is not allowed here,
需要把web中的 2.5 改成3.0即可。截图如下所示:

4.在idea中查询SQL时出现乱码:
把版本都改为一致的编码,在database的配置中,添加utf8的编码,在MySQL中设置表的编码是utf-8,把IDEA中的编码格式改为UTF-8,最终把所有编码格式改为一直,就不会出现乱码了,出现了乱码就有不一致的地方,方法有很多,我进改了其中的几个,若不能解决,可以搜下其他的博客,截图如下所示:

设置MySQL中的安装文件中的my.ini中,设置编码改为utf-8;截图如下所示:

把IDEA中的编码格式设置为UTF-8,截图如下所示:

在下面两个文件中添加编码到最后:-Dfile.encoding=UTF-8

5.modelandview传到前台的乱码问题:
modelAndView本质上即使 把传入给它的值加入到request对象中,然后在相对应的jsp中使用EL表达式将值取出来展示或处理。
EL表达式:L(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码 更加简化。
在配置文件中加上下面代码,强制限制请求和响应编码
<init-param>
<param-name>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
6.启动项目的时候,明明前一天还好好的,结果第二天项目后台报了错误日志:
Caused by: org.xml.sax.SAXParseException; lineNumber: 29; columnNumber: 28; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。
这个错误有点坑,一直找问题没找到,头发都揪掉了三根!!!
最终,更坑的是,把MVC的约束头部重新删除,添加上了一模一样的两行,什么都没动,竟然好了 !好了!
所以,以后出问题的时候,实在找不到解决的办法,看看错误日志,是不是说某个约束不好用什么的,可以试试重新删除,然后在加入删除部分的代码,保存重启。。。

上图中红色框框内的内容是重新写入保存的。
好了,以上就是我遇到的问题,有的是自己摸索的,有的是在网上试的,好的好用,有的不好用,最终要经过自己验证的。
欢迎提出问题,一起学习;不足之处,还需继续努力!
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)的更多相关文章
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...
- SSM(Spring + Springmvc + Mybatis)框架面试题
JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...
- SSM(Spring +SpringMVC + Mybatis)框架搭建
SSM(Spring +SpringMVC + Mybatis)框架的搭建 最近通过学习别人博客发表的SSM搭建Demo,尝试去搭建一个简单的SSMDemo---实现的功能是对用户增删改查的操作 参考 ...
- SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建
SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...
- SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...
- SSM(Spring,SpringMVC,Mybatis)框架整合项目
快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...
- SSM Spring +SpringMVC+Mybatis 整合配置 及pom.xml
SSM Spring +SpringMVC+Mybatis 配置 及pom.xml SSM框架(spring+springMVC+Mybatis) pom.xml文件 maven下的ssm整合配置步骤
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释(转)
原文:https://blog.csdn.net/yijiemamin/article/details/51156189# 这几天一直在整合SSM框架,虽然网上有很多已经整合好的,但是对于里面的配置文 ...
随机推荐
- 家庭记账本之微信小程序(四)
json的学习 JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小. ...
- Spring框架第二天
## Spring框架第二天 ## ---------- **课程回顾:Spring框架第一天** 1. 概述 * IOC和AOP 2. 框架的IOC的入门 * 创建applicationContex ...
- Python之猴子补丁
1.在运行时,对属性,方法,函数等进行动态替换 2.其目的往往是为了通过替换,修改来增强,扩展原有代码的能力 #test2.py class Person: def get_score(self): ...
- 以选项卡的故事扯扯js面向对象
在现在的网页中,选项卡(我自己这样子叫)是非常普遍的,也是比较基础,学了原型实现选项卡也挺久了,最近在学ES6,学了用类实现选项卡,今天就在此做个总结,别的废话也不多说. 以"貌" ...
- codeforces 982B Bus of Characters
题意: 有n排座位,每排有两个座位,每排座位的宽度都不一样. 有2 * n个人要上车,如果是内向的人,那么它会选择一排两个都是空位并且宽度最小的一排去坐: 如果是外向的人,会选择一排座位已经有人坐的, ...
- 0004-20180422-自动化第五章-python基础学习笔记
内容回顾:1.数据类型 2.for和while循环 continue break #如下循环将怎么打印结果? for i in range(1,10): print(i) for i in range ...
- Linux基础命令---lpr打印文件
lpr lpr指令用来打印文件,如果没有指定文件名,那么从标准输入读取内容.CUPS提供了许多设置默认目标的方法.首先查询“LPDEST”和“PRINTER”环境变量.如果没有设置,则使用lpopti ...
- Mysql数据库优化之SQL及索引优化
1. 如何发现有问题的SQL? 使用mysql慢查询日志对有效率问题的Sql进行监视 (1) show variables like 'slow_query_log'; 查看慢查询日志是否 ...
- JS设计模式(4)迭代器模式
什么是迭代器模式? 定义:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示. 主要解决:不同的方式来遍历整个整合对象. 何时使用:遍历一个聚合对象. 如何解决:把在元素之间游 ...
- Java Web获取Web应用根路径
最基本的 1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPat ...