springboot项目创建之异常信息记录

1、java找不到符号
java 找不到符号
符号: 类 类名
位置:程序包 包位置
原因:如果一个类没有手动创建直接将这个类复制到项目,idea找不到这个类。之前缓存导致不能够正常找到这个类的符号
解决办法:重新构建项目。

2、org.junit.runners.model.InvalidTestClassError: Invalid test class ‘com.cy.store.mapper.UserMapperTests’:
场景:在测试mapper层查询用户数据时,test测试类中直接复制了usermapper中的方法
该异常产生的原因是在写java测试方法的时候,测试方法中参数列表中带了参数引起的异常
解决办法删除参数列表中的参数
在进行单元测试时需要注意的点:
单元测试方法:就可以独立运行,不用启动整个项目,可以做单元测试,提代码的测试效率
1、必须被Test注解修饰
2、返回值类型必须是void
3、方法的参数列表不能指定任何类型
4、方法的访问修饰符必须是public

3、数据库连接报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.cy.store.mapper.UserMapper.insert
排查步骤:
1、检查namespase中的类名与对应映射文件类名是否一致
2、检查函数名称是否一致
3、检查application.properties文件中mybatis的配置是否被注释掉了
mybatis.mapper-locations=classpath:mapper/.xml ##mapper.xml文件路径
mybatis.type-aliases-package=com.cy.store.mapper ##映射包名
我的错误是:
配置文件中的xml文件路径填写错误:
填写成了mybatis.mapper-locations=classpath:mappers/
.xml

4、org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.

解决方式:
1、配置application.properties文件
spring.servlet.multipart.max-file-size= 10MB
spring.servlet.multipart.max-request-size= 15MB
2、在主类文件中加注解Configuration,添加getMultipartConfigElement方法,创建一个MultipartConfigFactory 工厂,然后再配置上传文件的大小即可
@Bean
public MultipartConfigElement getMultipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
factory.setMaxRequestSize(DataSize.of(15, DataUnit.MEGABYTES));
return factory.createMultipartConfig();
}
5、Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@1c7696c6] to prepare test instance
原因是在写测试代码时,为了方便创建实体类使用了@Autowired加载了Address address;,导致上面的报错
addressMapper是一个mapper接口, address是一个实体类。@Autowired不用用在实体类上,只能用在接口上面。
@SpringBootTest
@RunWith(SpringRunner.class)
public class AddressMapperTests {
@Autowired
private AddressMapper addressMapper;
@Autowired
Address address;
@Test
public void insert(){
address = new Address();
address.setAid(1);
address.setPhone(“123456789”);
address.setName(“女护士”);
addressMapper.insert(address);
}
}

6、Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘uid’ in 'where clause’
原因是mapper.xml文件中的sql语句有误

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番茄蛋子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值