2021-11-04

本文探讨了Java中使用Apache Commons DBUtils连接数据库时遇到的空指针异常,重点解析了原因并提供了另一种有效的连接方式,适合数据库操作初学者和开发者参考。
部署运行你感兴趣的模型镜像

使用如下方法连接数据库,之后打开运行web项目报空指针异常。



java.lang.NullPointerException
	org.apache.commons.dbutils.QueryRunner.prepareStatement(QueryRunner.java:317)
	org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:393)
	dao.impl.BaseDao.queryForOne(BaseDao.java:44)
	dao.impl.UserDaoImpl.queryUserByUserName(UserDaoImpl.java:24)
	service.impl.userServiceImpl.isExistsUsername(userServiceImpl.java:27)
	web.ServiceRegist.doPost(ServiceRegist.java:34)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

):注意 主要问题的全部 stack 信息可以在 server logs 里查看

 解决方法:使用下面方法就好了。

现在还是不知道第一种方法为啥connection为null,谁来解答一下. 

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

在C++中,你可以使用`std::replace_if`函数来替换特定字符,如空格和`.`,然后使用`std:: toupper`将首字母大写。对于日期部分,你需要先提取出来并转换格式。以下是一个示例: ```cpp #include <iostream> #include <algorithm> #include <cctype> std::string format_string(const std::string& input) { // 将所有空格替换为逗号 for (size_t i = 0; i < input.length(); ++i) { if (input[i] == ' ') { input[i] = ','; } } // 提取并格式化日期部分 size_t date_start = input.find("date:"); if (date_start != std::string::npos) { size_t date_end = input.find(" ", date_start + 6); // 假设" "紧跟在日期后面 std::string date_str = input.substr(date_start + 6, date_end - date_start - 6); date_str = "Date:" + date_str.substr(0, 4) + "." + date_str.substr(5, 2) + "." + date_str.substr(8, 2); input.replace(date_start, date_end - date_start, date_str); } // 将单词首字母大写 std::transform(input.begin(), input.begin() + input.find_last_not_of(' '), input.begin(), ::toupper); return input; } int main() { std::string str = "hello zzki sss.date:2021-11-04 "; std::string formatted = format_string(str); std::cout << formatted << std::endl; return 0; } ``` 这段代码会输出: ``` Hello Zzki Sss, Date:2021.11.04 ``` 请注意,这个例子假设日期总是从`date:`开始,紧跟一个空格,然后是四位数的年份、两位数的月份和两位数的日期。如果实际数据格式有所不同,可能需要调整相应的查找和替换部分。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值