簡體   English   中英

在使用 java 方法中的連接進行 prepareStatemet 之后,我可以返回 PreparedStatement 嗎?

[英]Can I return a PreparedStatement after prepareStatemet using connection in java method?

我想返回preparedStatment下面像。 那么我可以在另一個類中執行preparedStatment嗎?

package com.prs.dao.client;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.prs.model.ClientBean;
import com.prs.utils.DBclass;

public class ClentQueries {

    /*
     * singleton connection
     */
    DBclass dBclass = DBclass.getInstance();
    Connection connection = dBclass.getConnection();

    /**
     * <p>Insert Client</p>
     * @param clientBean
     * @return preparedStatement of insert Query
     */
    public PreparedStatement insertClient(ClientBean clientBean){
        PreparedStatement preparedStatement=null;
        try
        {
        String insertQuery = "INSERT INTO clients(firstName, lastName, email, password, birthday, phone, address)"
                + " VALUES(?,?,?,?,?,?,?)";
        preparedStatement = connection.prepareStatement(insertQuery);
        preparedStatement.setString(1, clientBean.getFirstName());
        preparedStatement.setString(2, clientBean.getLastName());
        preparedStatement.setString(3, clientBean.getEmail());
        preparedStatement.setString(4, clientBean.getPassword());
        preparedStatement.setString(5, clientBean.getBirthday());
        preparedStatement.setString(6, clientBean.getPhone());
        preparedStatement.setString(7, clientBean.getAddress());

        return preparedStatement;
        }catch(SQLException exception){
            exception.printStackTrace();
        }
        return preparedStatement;
    } 

}

然后我想像這樣執行preparedStatement

public class UseClientDao {

    public int addClient(PreparedStatement preparedStatement) {
        int numOfRow =0;
        numOfRow = preparedStatement.executeUpdate();
        return numOfRow;
    }
    //call method
}

我會建議不要這樣做。 您不應該從方法中傳遞任何像StatementResultSet這樣的工件,因為不清楚誰負責關閉資源。 它們應該在一個方法中創建、使用和關閉在相同的方法范圍內。

是的,您可以返回 Prepared Statement Object 。

准備好的聲明鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM