java - SQLException:class org.apache.commons.dbutils.BeanProcessor (in module commons.dbutils) cannot access class Zhang because module BeanListHandlerDemo
问题描述
我在网上搜索了很长时间的解决方案,但没有找到。请帮助或尝试提供一些想法如何实现这一目标。
从表中选择
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/gjp?serverTimezone=UTC";
String user = "root";
String password = "snn0924";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
String sql="select * from gjp_zhangwu";
QueryRunner qr=new QueryRunner();
Object[] params= {};
ZhangWu zw =
qr.query(conn, sql, new BeanHandler<ZhangWu>(ZhangWu.class), params);
似乎问题在最后一行,但是如何使用“BeanHandler”?
解决方案
发生这种情况是因为 Apache Commons DBUtils 中的未命名模块无法访问您的类。
发生这种情况是因为您使用的是Java Platform Module System。
要解决这个问题,您需要导出您的包,以便 Apache 模块可以看到它们。
module your.module {
...
exports your.package;
}
your.package
是您的Zhang
类所在的包,以及需要与它一起使用的所有其他类。
你的类也必须被声明public
。
一旦你看到它是这样工作的,你可能想尝试降低你的类的可见性,使用
opens your.package;
反而。
推荐阅读
- c++ - BuildMacro 元素在 Visual Studio 属性和项目中的作用是什么?
- mysql - 在mysql中添加时间戳列
- android - 未调用数据库引用 valueEventListener
- java - Spring Boot Java 客户端无法连接到 Zeebe Docker
- docker - Xdebug 3 未在 docker 中连接
- sql - 如何检查一个日期是否小于另一个日期,如果返回一个结果
- python - Perli 噪声 - 散列函数不返回相同的向量
- python - 如何在 numpy 矩阵运算中利用并行性
- python - 如何保存和恢复张量流模型?
- python - 日期系列到日期间隔系列