[英]Java 7, try-with-resources: can i omit creating Connection and 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
}
我會建議不要這樣做。 您不應該從方法中傳遞任何像Statement
或ResultSet
這樣的工件,因為不清楚誰負責關閉資源。 它們應該在一個方法中創建、使用和關閉在相同的方法范圍內。
是的,您可以返回 Prepared Statement Object 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.