gpt4 book ai didi

java - 无法在 java 动态 Web 项目(Eclipse、Tomcat)中更新 Mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 03:00:49 24 4
gpt4 key购买 nike

这是我的 FeedbackListner 类。我需要使用用户发送给系统的信息作为反馈来更新我的“测试”表。表包含 4 列。名称、位置、工资和电话。它执行 mtSmsReq .setMessage("Thank you for your feedback, Hope to see you again");在模拟器中,也显示Feedback消息。但是数据库没有更新。我的代码有什么错误吗?

import hms.kite.samples.api.SdpException;
import hms.kite.samples.api.sms.MoSmsListener;
import hms.kite.samples.api.sms.SmsRequestSender;
import hms.kite.samples.api.sms.messages.MoSmsReq;
import hms.kite.samples.api.sms.messages.MtSmsReq;
import hms.kite.samples.api.sms.messages.MtSmsResp;

import java.net.MalformedURLException;
import java.net.URL;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Arrays;

import com.mysql.jdbc.Connection;

public class FeedbackListner implements MoSmsListener {

@Override
public void init() {
// TODO Auto-generated method stub

}

@Override
public void onReceivedSms(MoSmsReq moSmsReq) {

String message = moSmsReq.getMessage();
String sourceAddress = moSmsReq.getSourceAddress();

FeedbackService.addFeedback(sourceAddress, message);

try {
sendResponse(moSmsReq);

} catch (SdpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

private void sendResponse(MoSmsReq moSmsReq) throws SdpException {

try {
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "tadhack";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";

String string = moSmsReq.getMessage();
String[] parts = string.split("/");
String Name = parts[0];
String Location = parts[1];
String Wage = parts[2];


String Telephone =moSmsReq.getSourceAddress();;


conn = (Connection) DriverManager.getConnection(url+dbName,userName,password);
try {



Class.forName(driver).newInstance();

PreparedStatement ps = conn
.prepareStatement("insert into test values(?,?,?,?)");

ps.setString(1, Name);
ps.setString(2, Location);
ps.setString(3, Wage);
ps.setString(4, Telephone);



int i = ps.executeUpdate();
if (i > 0)
System. out.print("You are successfully registered...");

} catch (Exception e2) {
System.out.println(e2);
}


conn.close();
} catch (Exception e) {
e.printStackTrace();
}
MtSmsReq mtSmsReq = new MtSmsReq();
mtSmsReq.setDestinationAddresses(Arrays.asList(moSmsReq.getSourceAddress()));
mtSmsReq.setMessage("Thank you for your feedback, Hope to see you again");
mtSmsReq.setApplicationId("App_0001");
mtSmsReq.setPassword("password");


SmsRequestSender requestSender = null;
try {
requestSender = new SmsRequestSender(new URL("http://localhost:7000/sms/send"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MtSmsResp smsResp = requestSender.sendSmsRequest(mtSmsReq);

System.out.println("Response " + smsResp);



}}

最佳答案

 conn = (Connection) DriverManager.getConnection(url+dbName,userName,password);
try {
Class.forName(driver).newInstance();

我必须以这种方式更改代码..

              try {
Class.forName(driver).newInstance();
conn = (Connection)DriverManager.getConnection(url+dbName,userName,password);

因为我应该在获取连接之前创建一个实例:)

关于java - 无法在 java 动态 Web 项目(Eclipse、Tomcat)中更新 Mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24028105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com