stmt = dbConn.createStatement();
int n = stmt.executeUpdate("update user1 set name = 'ptt' where name = 'wangwnejun'");
System.out.println(n);
rs = stmt.executeQuery("select * from user1");
while(rs.next()){
System.out.println("id:"+rs.getInt(1)+"\tname:"+rs.getString(2)+
"\tbirthday:"+rs.getDate(3)+"\tmoney:"+rs.getFloat(4));
}
close(dbConn, stmt, rs);
}
static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(String dbURL, String userName, String userPwd) {
Connection conn = null;
try {
conn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("数据库连接成功!");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void
JDBC调用sta.executeUpdate(sql)方法查询数据时返回数据不会随数据库更新而更新,static{}语句块问题
最新推荐文章于 2023-01-05 10:39:25 发布
在Java中,`static{}`块只在类加载时执行一次,例如在`Class.forName()`调用时。这导致使用`stmt.executeUpdate(SQL)`进行数据库操作后,立即查询可能不会反映出最新更改,因为驱动类已经加载过。类加载的特点包括延迟加载和单一加载。类的加载时机包括创建对象、调用静态方法和访问静态属性等。注意静态常量的访问不会触发类加载。
摘要由CSDN通过智能技术生成