在这之前,自己尝试过很多次在b站上学习后端框架,但都只是看了十集左右就放弃了。有些教程在配置环境的时候给你分析源码,对于我这种小白来说,和听天书没什么区别。大部分教程劝退我的主要原因是,我明明是一步一步跟着视频一起敲的代码,为什么视频里的可以,我的不行。然后就得暂停去搜博客解决,搜了一通,改了一堆看不懂的配置。这一关过了,继续跟着视频敲代码,又出错了,我都怀疑是之前改的配置导致的。整个过程就是特别的痛苦,最后也没能跑出样例,丝毫没有成就感。而这一次重新开始学习springboot框架,也是学校要求,莫得办法。现在项目已经完结了,花了三天时间,调bug的时间比写代码的时间多得多,通过这篇博客,记录下写项目过程中出现的许多问题。
目录
上项目
遇到的问题1—数据库连接失败
解决方法:网上搜到类似的问题,也有很多解决方案,但很遗憾的是,我的问题并不是那些,其中包括在yml文件内连接数据时要加些后缀,说需要设置时差。而我的问题则是:连接数据库的端口写错了,端口默认3306,而我的是3308!
遇到的问题2—编写mapper.xml文件时,返回类型为resultMap导致项目启动失败
解决方法:具体报错信息没有保留,讲resultMap改为resultType就行,没有花精力搞清原理,好像是说resultMap需要写些匹配啥的。
遇到的问题3—编写mybatis层接口,传递参数方式不对
解决方法:用注解方式@Param来指定传入sql语句的参数名。
遇到的问题4—sql语句内不能用小于号
解决方法:换个位置,改成用大于号。
遇到的问题5—没有添加扫描的包,导致项目启动后找不到mapper
解决方法:添加@MapperScan(“com.example.demo.mapper”)里面为mapper所在的包名。
遇到的问题6—访问不到controller类里的方法
解决方法:将注解@controller改为@RestController。
遇到的问题7—无法通过url直接访问controller内的方法(servlet)
解决方法:请求的方式POST和GET与前端不匹配,改为一样的请求方式就行。
遇到的问题8—controller无法获取前端传来的数据
解决方法:servlet方法的参数要和前端的数据名一致。
遇到的问题9—jsp页面访问不到
解决方法:手动创建一个webapp包,将jsp页面放在该包内,并导入相应的jar包。
遇到的问题10—字符编码导致项目启动失败
解决方法:在yml文件内不要用中文,甚至可以不要注释。
遇到的问题11—从数据库中获取数据缺失
解决方法:数据库表的字段名需要和返回的类名内的属性名一致,数据才能一一对应。