public static Connection con=null;
时间: 2024-04-20 18:24:13 浏览: 13
这是一个静态的Connection对象con的声明,初始值为null。在Java中,静态变量属于类级别的变量,不依赖于类的实例化。这样声明一个静态Connection对象可以在整个类中共享同一个数据库连接。通常在数据库操作中,会使用一个单例模式来管理数据库连接,这样可以避免频繁地创建和关闭连接,提高数据库访问的效率。
相关问题
import java.sql.*; public class QueryPass { public static void queryDB() { Connection con=null; //数据库连接对象con Statement stat=null; //语句对象 stat ResultSet rs = null; //结果集 rs /********* Begin *********/ // 第一步:加载驱动 // 第二步:建立连接, "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)的情况 // 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8 // 第三步:建立statement对象 // 第四步:查询数据并显示 // 第五步:关闭statement对象和连接对象 /********* End *********/ } }
以下是完整的代码实现,其中第四步的查询语句需要根据具体的数据表和需求进行修改:
```java
import java.sql.*;
public class QueryPass {
public static void queryDB() {
Connection con=null; //数据库连接对象con
Statement stat=null; //语句对象 stat
ResultSet rs = null; //结果集 rs
try {
/********* Begin *********/
// 第一步:加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 第二步:建立连接, "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)的情况
String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8";
con=DriverManager.getConnection(url,"root","123123");
// 第三步:建立statement对象
stat=con.createStatement();
// 第四步:查询数据并显示
String sql="select * from student";
rs=stat.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getInt(3));
}
// 第五步:关闭statement对象和连接对象
rs.close();
stat.close();
con.close();
/********* End *********/
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
queryDB();
}
}
```
注意,代码中的`jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8`表示连接的是本地mysql数据库上的test数据库,具体的数据库地址、用户名、密码和数据库名需要根据实际情况进行修改。同时,查询数据表的语句也需要根据实际需求进行修改。
逐句分析import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JDBCUtil { public static Connection getCon() { Connection connection = null; try { // 1.加载JDBC驱动程序,jdk1.5后可以不写 Class.forName("com.mysql.cj.jdbc.Driver"); //2.建立与数据库的连接 String url = "jdbc:mysql://localhost:3306/student? useSSL=false&serverTimezone=Asia/Shanghai ";//数据库URL String name = "root"; //数据库登录账号 String password = "123456"; //数据库登录密码 connection = DriverManager.getConnection(url, name, password); } catch (SQLException | ClassNotFoundException e) { e.printStackTrace(); } return connection; } public static void main(String[] args) { JDBCUtil.getCon(); } }
这段代码主要是一个Java的JDBC工具类。下面逐句分析:
```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
```
引入了Java中的`java.sql`包,其中包含了与数据库相关的类和接口,例如`Connection`、`DriverManager`和`SQLException`等。
```
public class JDBCUtil {
```
定义了一个公共类`JDBCUtil`。
```
public static Connection getCon() {
```
定义了一个公共静态方法`getCon()`,其返回类型为`Connection`。
```
Connection connection = null;
```
声明一个`Connection`类型的变量`connection`,并将其初始化为`null`。
```
try {
```
开启一个`try`代码块,用于捕获可能会抛出异常的代码。
```
Class.forName("com.mysql.cj.jdbc.Driver");
```
加载MySQL的JDBC驱动程序,该语句只有在JDK1.5之前需要使用,之后的版本可以不写。
```
String url = "jdbc:mysql://localhost:3306/student? useSSL=false&serverTimezone=Asia/Shanghai ";
```
定义一个`String`类型的变量`url`,表示连接数据库的URL地址,其中`localhost:3306`表示数据库所在的主机和端口号,`student`是数据库的名称,`useSSL=false`表示不使用SSL协议,`serverTimezone=Asia/Shanghai`表示时区设置为亚洲上海。
```
String name = "root";
String password = "123456";
```
定义两个`String`类型的变量`name`和`password`,分别表示数据库的登录账号和密码。
```
connection = DriverManager.getConnection(url, name, password);
```
使用`DriverManager`类的`getConnection()`方法来建立与数据库的连接,并将返回的`Connection`对象赋值给之前声明的`connection`变量。
```
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}
```
捕获可能会抛出的`SQLException`和`ClassNotFoundException`异常,并打印出异常信息。
```
return connection;
}
```
返回建立好的`Connection`对象。
```
public static void main(String[] args) {
JDBCUtil.getCon();
}
```
在`main`方法中调用`getCon()`方法,测试是否能成功连接数据库。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)