NoClassDefFoundError是什么情况?

测试代码
@Test
public void selectAllTest() {
SqlSession sqlSession = null;
try {
sqlSession = MyBatisUtils.openSession();
List<Goods> goodsList = sqlSession.selectList("goods.selectAll");
for (Goods g :
goodsList) {
System.out.println(g.getTitle());
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
MyBatisUtils.closeSession(sqlSession);
}
}Utils代码
public class MyBatisUtils {
private static SqlSessionFactory sqlSessionFactory = null;
static {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
// 初始化异常,抛出InInitializerError
System.out.println("初始化异常");
throw new ExceptionInInitializerError(e);
}
}
// 获取sqlSession连接
public static SqlSession openSession() {
return sqlSessionFactory.openSession();
}
// 关闭sqlSession连接
public static void closeSession(SqlSession sqlSession) {
if (sqlSession != null)
sqlSession.close();
}
}mybatis-config.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。--> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!-- 设置默认指向的数据库--> <environments default="dev"> <!-- 配置环境,不同的环境不同的id名字--> <environment id="dev"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="abc123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mappers.goods.xml"/> </mappers> </configuration>
12
收起
正在回答
2回答
同学你好,goods.xml文件是否在mappers文件夹下,若在则建议将mybatis-config.xml配置文件中的mappers.goods.xml修改为mappers/goods.xml,再将jdbcUrl修改为url后重新测试运行试下。
祝学习愉快~
慕粉1555086949
2022-06-22 18:01:54
找到问题了
<property name="jdbcUrl" 写错了,要写成 name="url"
2023版Java工程师
- 参与学习 人
- 提交作业 8813 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星