继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

敲代码过程中遇到的坑

梁木
关注TA
已关注
手记 5
粉丝 1
获赞 1

1、今天刚开始学了springboot+mybaits-plus用来自动生成代码生成了所有文件,但是当我使用自定义sql语句时报了这么多错。我一直以为配置文件有问题,

https://img1.mukewang.com/5d04ca00000129b304480032.jpg

但是当我检查是一点问题都没有了,很郁闷。尝试了各种方法都不能解决把这个路径我也换了N多遍总之各种各样的错出现在我眼前,解决不了我又怀疑sql语句有问题,写了最简单的sql语句还是报错,最后我百度为什么mapper下的xml不能注入,网上一大堆解决springboot+mybatis-plus注入失败的问题,我都一一改了然而并没有卵用,解决了一天都没有解决尝试了几十种方法,但是我还想较真,把它解决出来但是就是不行,导致下午都没吃饭都在搞,最后我处于无奈我发现我的xml文件中除了sql语句多了一个,

<!-- 开启二级缓存 -->

<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>

我知道它的存在但是我一直不在意,认为这没有什么,这是在自动生成代码时候生成的,谁知道这他妈什么鬼玩意,等于开启了二级缓存,但是我的项目中并没有配置关于二级缓存的文件,导致一直报错,而且保存前边的信息就是忽悠人,这和开启没开启二级缓存有点都没关系,平常看报错只是看前边一部分就去解决了,谁想到它的错藏在最后边,

Cause: java.lang.ClassNotFoundException: Cannot find class: org.mybatis.caches.ehcache
        .LoggingEhcache

 哎,白忙活了一天,还是自己解决问题太差了,知道的也太少,在xml中这样开启二级缓存。并没有太在意,
 把那段代码注释掉就ok了。等到学到开启二级缓存注释在加进来。老天啊,就这么一个小问题浪费这么多时间、
 难受。

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderDetailServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderDetailMapper' defined in file [F:\idea\sell\target\classes\com\gxuwz\wzxy\sell\modules\business\mapper\OrderDetailMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [F:\idea\sell\target\classes\mapper\business\ProductInfoMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [F:\idea\sell\target\classes\mapper\business\ProductInfoMapper.xml]'. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'org.mybatis.caches.ehcache.LoggingEhcache'.  Cause: java.lang.ClassNotFoundException: Cannot find class: org.mybatis.caches.ehcache.LoggingEhcache

2、我发现自己有个坏毛病,就是明明报错了,明确指出那部分代码有错,但是当我把它改对之后,还是报错,我就开始不相信自己了,然后就去网上找,找到的都解决不了自己的问题,这学期软件实训,老师让我们用最基础的jsp+servlet去做,当我做到权限这快时,就想着把shiro给整合进去,网上大部分都是springboot整合shiro,servlet很少,但是还是找到一篇博客,看了下他写的然后集成到自己的代码,去完成了,但是这个过程就有一个小问题让我解决了半天,在web.xml中去加载shiro.ini文件,是怎么也获取不到,我已经检查了,它也已经被加载到class中了,但是还是找不到,一直报这个错,我也是尝试了各种方法都解决不了,最后静下心来才发现,妈的那个shiro.xml前边多了个空格,我说怎么咋样都找不到,还是自己不小心,敲代码太粗心大意了,导致的错误最难找,就一个空格,谁能想到哪里去,一定要严谨,把这个有趣的事情也记录下来,等到以后在过来看下自己犯的错,慢慢去改进,成为一名优秀的程序员。

shiro.ini中我是从数据库中获取所有权限,下边这段代码就是找到自己项目中的认证和授权那个类。切记。

https://img3.mukewang.com/5d086a080001041305350099.jpg

shiro的标签

https://img.mukewang.com/5d086a540001f5cd07340510.jpg

3、今天导入项目发现有红叉,但是文件里边平常都没报错,一般我去解决这个办法就是在properties中java Budild Path看是不是有哪个包有问题改改就好了,但是这两处都没有问题,我找找了最终解决,有两处,

(1)我的Eclipse中jdk是1.8但是在编译时是1.7的jdk。改这两处就好

https://img3.mukewang.com/5d0a0ad60001a69209720216.jpg

https://img.mukewang.com/5d0a0ae600019c6e05960156.jpg

(2)在Eclipse下.settings/org.eclipse.wst.common.project.facet.core.xml中也把jdk改成1.8

https://img3.mukewang.com/5d0a0c090001be1106170170.jpg

这样就解决了我项目报红叉的问题。

4、当查询出数据for循环在前端表格显示时绑定一个元素的点击事件,当点击时只可以取出这一列中其中一个字段的数据,一开始绑定的时候不论我怎么点击显示都是第一条那个字段的数据,最后解决办法如下:把从数据库中循环取出来的值放到id标签上

<a href="javascript:;" id="<%=model.getId()%>" class="audit" style="color:red;">审核</a>

当绑定点击事件时取出id标签的内容然后作为参数发送请求到后端服务器来解决自己项目中的需求

https://img2.mukewang.com/5d0a123200016af804820059.jpg

perfect


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP