java中 在保存的时候报错_记录一下学习JAVA过程中所遇到的问题(持续更新)

表中的部门列

dbb30aa17d763d951e153087bdb53fbc.png

然后是进行编辑的时候相应的js代码

9ef9bfcefbe8d88d464bb3cef292e49c.png

按理说应该会返回员工的数据及其相关联的部门数据,但是却不是

7a463708acdf443eed8f578726d3b65c.png

检查之后发现是在EmployeeMapper.xml之中没有关联dept的idf5b185fcc66b06ee9da25caf3de6070b.png

关联之后一切正常9f7839d2e4fd032a162533f8f1e6b8d9.png

12.新建maven项目,成功之后发现项目有个小红叉,打开window的show的problem观察报错四五个,网上方法试了很多都没有用,最后解决如下:

首先在硬盘下找到  \项目名\.setting\文件夹下的   org.eclipse.wst.common.project.facet.core.xml  xml文件。将jst.web,的version改成3.0.然后在eclipse里右键该工程--maven--updateProject即可。

13.在做ssm项目的时候,做到AOP日志管理的时候遇见一个事务方面的报错,如下,大致就是只读事务的意思

fcc3c06ad08c029bb09f6946e10db4e5.png

我随后检查spring配置,发现只有查询的操作才配置的只读事务,而我的aop日志写入数据库(insert方法)的时候并不是只读的。原因是由于我在写入日志的时候需要获取当前的操作用户,那就必须得到session,因此在登录的时候我就获取到当前线程的session。而由于登录时需要查询,这个操作时只读事务,而spring配置中使用的事务策略是默认的"REQUIRED",这个策略就表示如果没有事务就开启事务,如果有就使用当前事务,因此在进行保存日志信息的时候就使用了只读事务了,因此报错。解决策略,只需配置成下图的策略就行了。cd4152cb86212f259aa57ab4eefdbec4.png

在配置为supports之后,原来有事务就用原来的事务,如果没有也不开启事务,那么在登陆的时候是没有事务开启的,因此来到insert保存日志的时候就会另开一个事务,默认的是REQUIRED

注:关于spring的几种事务策略

d0fb299d57d1981892689707089761de.png

13.在尝试做权限的重新加载这个功能的时候,遇到cotriller层一直报空指针错误。首先我是在controller层定义了一个重新加载权限的方法reload,还有一个权限列表的方法list。

652e85d504834bf741384a03e316622f.png

由于刚开始没有传入permissionServerce,所以报空指针,原因是,我实在list方法里面调的reload方法,如果不传入service,由于不是一个新的请求,故controller没有注入一个新的service所以报空指针。

14.spring拦截其中mapping的path的几个写法:a./。 b./*。 c./**。具体参见:点击打开链接

15.使用spring注入静态字段的时候会报空指针,这时候只需要注入该静态字段的setter方法就行了,比如下面这样:

103fe06361ec6f206f8137b02a9a0203.png

16.关于在javaweb应用中多用户并发访问数据库的情况:点击打开链接

17.一个关于包装类型和基本类型所引发的错误。我在前台使用的easyui的datagrid发送请求给后台controller,然后controller层再将前台的高级查询对象QO封装好,问题就出在这而,我的高级查询对象是DepartmentQueryObject只有两个字段,一个keyword,一个是布尔类型的state,在前台没有点击高级查询的按钮的时候,只是普通请求过来的时候,查询对象的state一直是false,就导致了在数据库一直进行高级查询state=false。其实在没有进行高级查询的时候,qo里面相当于没有前台注入的值,因此应该全是默认值,那么state就应该是false,随后将state字段换成包装类型就ok了。

18.Springboot热部署配置。我所了解到有三种方法(都在eclipse基础上)

(1)第一种是在命令行使用mvn命令可以,在pom中添加依赖如下

1307d3225e73d1ce9912a8b899dfeafb.png

(2)第二种是使用java run config运行,需要下载springcloaded的jar包,可以再maven仓库找到。

eclispe中运行配置里参数设置里面设置VM,

81d1dc22859816b07c4f41ec8a273036.png

b675e9b57682ddd39c265f3ed95f5810.png

路径写自己相应的jar包路径

37a7a7f8cf0101ce4f1ec12c92117c96.png

(3)运行springboot app的方式

5c9a529c784baf6a7f02bed57a7ee338.png

热部署pom配置

2217015c063cafbcbf4c15f5aa708093.png

每次更改之后需要编译才会生效,可以自动编译也可以手动。

注:idea中我使用的是第三种方式。

19.在springboot集成数据库的时候一直报错知不道com.mysql.jdbc.Driver类的异常,试了很多网上方法,配置文件后面也没有跟空格,之后更改mysql驱动的版本才解决了,至今不知道是什么原因,之前用的5.1.46,后更改为5.1.21

20.springboot集成mybatis时Access denied for user ''@'localhost' using password NO。看了很多人报的错是password YES并且前面是user'root'这种,他们大多数是由于密码或者账户权限的问题,而我之前一直用的好好的,在eclispe使用spring集成mybatis的时候却出现这个问题。真的是折磨了我一天,难受,各种检查各种改。之后完了吧游戏发现是application里面自动注入的时候出错了正确是datasource.druid.  而我却少写了ddruidc734d277a2313e0a16251121dbcfb3b9.png因此没有注入账户密码,因此user后面是空,password也是no。出现同类型的问题的朋友需要反复检查是否注入成功账户密码。

之后还出现了Driver这个类找不到,依赖那些全都导入了的,至今都不知道什么原因。后面直接换IDEA所有的都正常了。还有部分依赖导入不生效的问题,可以尝试换个版本,我的lombok就是这个原因。

21.在springboot集成mybatis中出现一直报如下的错误:                   35e9f45bbbed035ebda9a8528d1d0d37.png

由于我的mapper文件和java文件放在一起的,因此是不会自动编译到classpath目录下的,所以需要配置一下

623db38ec07384e7df108286a03b3bb7.png  这样就可以使java目录下的xml文件编译到classpath目录下了。

22.详解mysql数据库实现读写分离。主要是设置主从数据库,然后在代码层面实现读写分离:点击打开链接

23.springboot连接数据库报错:java.sql.SQLException: The server time zone value 'Öйú±ê×¼

解决办法:https://blog.csdn.net/qq_39098813/article/details/81138648

24.报错java.nio.charset.MalformedInputException: Input length = 1 原因是yml格式错误

25.报错ava.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)。 注意中间@后面为空不是@root,原因是yml中不使用datasource-username,直接使用username。password也是

26.springboot连接数据库控制台提示Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdb。改为:现在按照最新官方提示支持将com.mysql.jdbc.Driver  改为  com.mysql.cj.jdbc.Driver。详见:https://blog.csdn.net/anaini1314/article/details/71157791

27.thymeleaf在idea中没有语法提示,htmlto头也添加了,最后检查是idea没有启用thymeleaf插件。

28.ajax发送请求所携带的参数在springboot的后台乱码。原因是未在js里面把数据转为标准的json格式。如:

data: JSON.stringify({content: content})

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved.

京ICP备09083238号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值