我想知道哪种是使用以下连接变量的安全和更好的方法.
第一:连接作为类的类成员变量
class MyClass
{
Connection conn;
public MyClass(Connection conn) {
this.conn = conn;
}
public void myMethod(){
//Do some DB operations using conn
}
}
Run Code Online (Sandbox Code Playgroud)
第二:在方法中初始化连接
class MyClass
{
public MyClass() {
}
public void myMethod(){
Connection conn= initializeFunction(); //Initialize Connection
//Do some DB operations using conn
}
}
Run Code Online (Sandbox Code Playgroud)
第三:将连接作为参数发送到函数
class MyClass
{
public MyClass() {
}
public void myMethod(Connection conn){
//Do some DB operations using conn
}
}
Run Code Online (Sandbox Code Playgroud)
注意:问题不是特定于编程语言的,因此我也添加了除Java以外的标签.
说到数据库连接对象,最好的是:尽可能早地打开并尽快关闭.
在C#中有一个using语句,它与实现IDisposable接口的对象一起工作.using语句的作用类似于try/finally代码块.IMO处理连接的一般做法应该是这样的:
try
{
connection = new Connection();
connection.Open(); // open the connection
//work with the connection, DB CRUD operations
}
finally
{
if(connection != null)
connection.Close(); // close the connection in finally block
// so that even if the exception occurs, connection gets closed.
}
Run Code Online (Sandbox Code Playgroud)
对于你的选择,我相信第一个是最差的,它将连接对象与类的对象一起保存.
我认为你应该更关心打开/关闭连接而不是在多个地方保持连接的对象.
这三种方法都提供不同的功能:
选择取决于:
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |