gpt4 book ai didi

java - 如何传递连接代码?

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:34 27 4
gpt4 key购买 nike

我正在使用 JDBC,如何将我的连接代码实际传递给其他对象?这样继续编码就不会那么麻烦了,如果我需要关闭数据库连接,我是否需要创建其他对象?这是我的代码

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import javax.sql.DataSource;

public class DisplayUsers {

ResultSet resultSet = null;
Statement statement = null;
Scanner input = new Scanner(System.in);
DataSource ds = null;



public void showAll() {

System.out.println("Search User: ");
String user = input.nextLine();

String query = "Select * from user";
try {
resultSet = statement.executeQuery(query);
ResultSetMetaData metadata = resultSet.getMetaData();
int columns = metadata.getColumnCount();
while(resultSet.next()){
for(int i = 1 ; i<=columns;i++){
System.out.printf("%-8s\t",resultSet.getObject(i));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

这是我的连接器代码

import java.sql.*;

public class Jdbc {

public void dbConn(){
final String url = "jdbc:mysql://localhost:3306/payroll";
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,"root","123192");
}catch(Exception e){
e.printStackTrace();
}
}
}

最佳答案

您通常会根据需要获得连接,执行 SQL,然后关闭它。如果您使用的是连接池,您通常会从池中请求它并在完成后返回到池中。

大多数时候 Connection 对象是短期的,仅用于单个事务。打开的连接会占用数据库资源,您不希望将这些连接保持打开状态超过需要。没有什么能阻止你将这些传递给其他物体,但要小心......

关于java - 如何传递连接代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417127/

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