今天看到公司之前的代码,静态方法调用数据库没有关闭,想知道这是为什么
这个是数据库连接类
public class DBUtil {
private final static String URL = "jdbc:sqlserver://192.168.1.100:8080;DatabaseName=volador";
private static final String USER="user";
private static final String PASSWORD="123456";
private static Connection conn=null;
static{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn=(Connection)DriverManager.getConnection(URL,USER,PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
return conn;
}
public boolean addCameraInfo(String groupid,DeviceInfo de){
Statement stmt2;
try {
stmt2 = conn.createStatement();
stmt2.executeUpdate
("insert into Camera_Info (name,cameraIp,camera_Vender,indexCode,cameraAddress,icon) values('"+de.szDevSrcAlias+"','"
+de.getDeviceID()+"','"+de.getSzManufacturer()+"','"+de.getDeviceID()+"','"+groupid+"','"+"/source/ztreecss/zTreeStyle/img/diy/camera.png"+"')");
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
下面这个是调用类
public class test {
static DBUtil=new DBUtil();
public static void main(String[] args) throws InterruptedException
{
while (!queueGrpId.isEmpty())
{
DBUtil.addCameraInfo(xxx,xxx,xx);
}
}
}
是没有关闭吗,还是不用关闭,因为while语句会执行很多次add方法,如果要关闭,怎么关闭,单独写一个关闭类在while后执行吗,请指教