0813
无法访问的时候
springboot框架报错总结 且与404相关
static和templates文件夹的页面访问问题
放在static文件夹下的html 端口号+XXX.html即可直接访问
放在templates文件夹下的html 需要在controller层写好url 即@RequestMapping(“url”) 接在端口号后 才能实现跳转
404 表示资源找不到
404
500报错问题
找服务端后台控制器
打开console控制台看
比如 TemplateInputException
500报错 模板异常
400报错
控制台报错最关键两点
(1)先找caused by
(2)找第一行报错信息
1.NoSuchBeanDef initionException报错
***
类似bean报错
2.空指针异常
1.@test错误
对应test 单元测试方法 test method
@注解类的 空指针异常
NullPointException
3.sql语法错误 dao数据库语法错误 例如@Select…
类似 mapper .xml文件语法错误
4.配置文件报错 application.yml application.properties 报错 以及配置文件的问题
配置
5.绑定异常
如下图 BindingException (not found) 最常见的
binding-param (id not found)
6.网络配置问题 unknown host
7.数据库问题 表没导进去
8.ILLegalStateException错误归纳
Failed to load ApplicationContext
具体错误原因
Caused by: java.lang.llegalArgumentExceptior Mapped Statements collection already contains value for com.cy.pj.goods.dao.GoodsDao.insertObiect. please file [D:\CGBIICLASS\GIT2005CODES\CGB-SPRINGBOOT-04\target)classes\mapperngoods\GoodsMapper.xml
9.端口号占用问题
10.thymeleaf问题
SpelEvaluationException
TemplateInputException might not exists
11.controller层问题 APPLICATION FAILED TO START
NoSuchBeanException
12.页面解析错误
SpelEvaluationException:错误
报错信息暂时总结至此
提问的回答
logging:
debug
debug的作用是在控制台输出你的sql日志
重做日志管理模块
对应书面笔记
最开始 点击日志管理按钮 click按钮事件的注册 不会 现在去探究
去查之前的js代码 整体之后 而且了解共性和回调函数
少了个#号
如下是重要知识点
第一天的任务呈现 完成
第二天上午
编写pojo
@Data get set方法+toString方法
dao层
输入名字 根据用户名去查询 查看日志信息
@param在新版jdk已经无需加入进去
dao对应的mapper SysLogMapper.xml
原本语法 最基本的 没有条件
语法:select * from Persons where City like ‘%N%’
落实到项目中 要有严谨性
username 用户名不能为空值或者空字符串
所以username需要附带条件
count用法
计算行数
统计你查询出来的记录数
数据库中的count,是用来统计你查询出来的记录数,比如学生表中有十条记录:select count(*) from 学生表;这样查询出来的count就是10 了。
select后的 count用法
concat用法
这次在数据库的模糊查询中用到了这个函数,所以拿出来总concat函数本来是MYsql中的一个函数方法,
CONCAT(str1,str2,…) 其作用是将括号中的字符串连接起来,但是有一定的规则就是:在连接字符串的时候,只要其中一个是NULL,那么将返回NULL!
主要就在于concat(concat('%',#{chname}),'%')这个函数对字符串的两次拼接。
limit用法
假如现在有一张student表,它里面有5条记录,我们只想要前三条,那么我们可以这样写:
① select * from student limit 0,3;
也可以这样写:
② select * from student limit 3;
还可以这样写:
③ select * from student limit 3 offset 0;
第①和②写法表示从下标为0的记录(不包括)开始取到下标为3的记录
第③写法表示从下标为0的记录开始取三条数据,其实和①②是一样的
总结 和offset 连用时 limit表示取出来的记录数,offset表示偏移量,也可以理解成起始坐标
加了if条件的语法 标准结构
select * from Persons
where City like ‘%N%’
然而程序员思想 需要提取共性 提高复用性
username不能为空值或者空字符串 模糊查询时 字符串拼接的时候所要用到的concat函数 都是可重用服用的
所以把where提取出来
where里面是共性代码
如下图 圈着的 提取
插入小点limit
有点不懂 为什么是 #{startIndex},#{pagesize}
把select 后 from也给拿走当共性
startIndex是当前页的起始位置(对应 其实位置) pageSize是当前页面大小(对应 多少行 几条行数)
testDao
getCount基于用户名测试 就用用户名
FindPageObject 也是基于用户名测试 加上下标和起始位置去查
报错
少写了findObjects少写了s
还有就是username写成了name console控制台报错 该回去就好
dao测试实现
区分两个pojo
一个很容易错误的点
关联
**
大面积报错 一般是dao和mapper层
**
一堆cause by
类名看下有没有对应
和核对配置文件
映射多了也不行 如下图
thymeleaf相关
template might not exist or might not be accessible by any of the configured Template Resolvers
如下图 没写controller层的对应类
AOP相关
停在那走不下去 没有端口的内容了
切入点的定义有问题
错误2 return问题
没把结果放回到客户端
11.31前 看回放 漏了 晚上