gpt4 book ai didi

java - Jdbc模板增删改查操作

转载 作者:行者123 更新时间:2023-11-30 07:37:17 25 4
gpt4 key购买 nike

所以我有一个网络应用程序的第一步,有类 Doctor,我想执行一些操作,如查看全部、插入、删除等:

public class Doctor {
public String firstName;
public String lastName;
public int id;

public Doctor(){
}
public Doctor(int id, String first, String last){
setId(id);
setFirstName(first);
setLastName(last);
}
// getters and setters

这是我的接口(interface) Service 中的一个方法的实现。它们与相应的 sql 查询几乎相同。我尝试遵循几个不同的教程。

public class DAOImpl implements DAO{

public void insertUpdateDoctor(Doctor doctor){

String sql = "INSERT INTO doc_flight.docflight_doctors(id, first_name,last_name)" + "Values(?,?,?)";



jdbcTemplateObject.update(sql,new Object[]{doctor.getId(),doctor.getFirstName(),doctor.getLastName()});

这是我尝试调用它的 main 部分。该程序甚至不尝试输入该方法,它不会在调试中出现,而是转到我在 main 中尝试的下一个方法,查看全部,该方法有效。据推测,我没有正确调用该方法,并尝试多次重写所有部分。帮忙?!

  Doctor test = new Doctor(17,"jack", "sparrow"); 
service.insertUpdateDoctor(test);

最佳答案

这个问题本身对我来说不太清楚。

如果问题是调用此方法时:

Doctor test = new Doctor(17,"jack", "sparrow"); 
service.insertUpdateDoctor(test);

运行时未进入 insertUpdateDoctor,只需检查如何实例化对象服务

如果问题是它没有正确执行sql语句,请尝试使用PreparedStatement(这是一个很好的做法),方法如下:

        String connectionStr = StringUtils.format("INSERT INTO %s.docflight_doctors(id, first_name,last_name) Values(?,?,?)", this.databaseName);
try (Connection connection = this.dataSource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(connectionStr)) {
preparedStatement.setInt(1, doctor.getId());
preparedStatement.setString(2, doctor.getFirstName());
preparedStatement.setString(3, doctor.getLastName());
preparedStatement.execute();
connection.commit();
} catch (Exception ex) {
this.logger.error(String.format("Error when inserting: %s", ex.toString()));
}

希望对您有帮助。

关于java - Jdbc模板增删改查操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35209898/

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