Sun_C9 2018-10-21 11:40 采纳率: 0%
浏览 623
已结题

关于数据库类静态调用没有关闭的问题

今天看到公司之前的代码,静态方法调用数据库没有关闭,想知道这是为什么

这个是数据库连接类

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后执行吗,请指教

  • 写回答

6条回答 默认 最新

  • Sun_C9 2018-10-21 11:41
    关注

    如果有大神指教一下数据库静态调用和非静态调用区别就好了

    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看