SSM搭建遇到的坑
1,Error:(6, 24) java: package org.junit.runner does not exist
错误原因:
当时傻傻的把zl 包(单元测试包)放在了src/main/java/ 目录下了.
解决办法: 测试包放在src/test/java/ 目录下.
2, Failed to read artifact descriptor for org.mybatis:mybatis-spring:jar:1.3.1
在pop.xml 中配置:
<!-- DAO: Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
mvn不能生成mybatis 所需要的jar包,导致mybatis 不能使用
解决办法: 在File->Settings->Maven,选中
3.java.lang.Exception: No runnable methods
在进行单元测试的时候,我傻傻企图运行BaseTest,并且傻傻的在BaseTest中添加了一个main,调试发现test 一直为null.
应该是运行BookDaoTest.
4.org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cc.openhome.dao.AppointmentDao.insertAppointment
在Mapper.xml 中,
<insert id = "insertAppointmentDao">
INSERT ignore INTO appointment (book_id, student_id)
VALUES (#{bookId}, #{studentId})
</insert>
在接口中AppointmentDao,接口名写成了:
int insertAppointment(@Param("bookId") long bookId,@Param("studentId") long studentId);
两个不一致导致的错误,名称改为一致就可以了,
可以参考这个: https://blog.csdn.net/sundacheng1989/article/details/81630370
5.Caused by: org.apache.ibatis.binding.BindingException: Parameter 'offset' not found. Available parameters are [arg1, arg0, param1, param2]
出错原因:
List <Book> queryAll( int offset, int limit);
应该写成:
List <Book> queryAll(@Param("offset") int offset, @Param("limit") int limit);
应该写成
List <Book> queryAll(@Param("offset") int offset, @Param("limit") int limit);
引用一位大神博客里面的一句解释:https://blog.csdn.net/qq598535550/article/details/51703190#commentBox
这里为什么要给方法的参数添加@Param
注解呢?是因为该方法有两个或以上的参数,一定要加,不然mybatis识别不了。
上面的BookDao
接口的queryById
方法和reduceNumber
方法只有一个参数book_id
,所以可以不用加@Param
注解,当然加了也无所谓~
最新文章
- ASP.NET Web API 控制器执行过程(一)
- 【Delphi7】 解决“程序第一次可以正常编译,但再次编译的时候会报错,必须重新打开Delphi”的问题
- static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数
- Windows Phone下的Socket编程
- 栈的的链式实例LinkStack实现
- 文本阴影text-shadow
- [转载]C++ CString与int 互转
- bitmap index
- Delphi的核心优势:三快一多
- [置顶]
 Xamarin android中使用signalr实现即时通讯
- 没有显示器如何SSH连接上树莓派
- 多线程--wait()和notify(),Thread中的等待和唤醒方法
- python之函数联系
- Python3下载图片的方法
- spring boot + vue + element-ui全栈开发入门——主页面开发
- (译)xDS REST and gRPC protocol
- GC日志时间分析
- 诡异的楼梯(bfs)hdu1180
- 关于在JSP页面用c标签写if语句
- POJ 2706 Painter
热门文章
- Oracle 12c 单实例安装
- [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype
- 主成分分析 SPSS、python实例分析
- python第一天2.28
- Android ANR(应用无响应)解决分析【转】
- SP913 QTREE2 - Query on a tree II
- libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)
- input[type=file]的美化
- 修改Ubuntu锁屏快捷键
- HDU - 3652