JDBC连接mysql的返回集合getString方法
时间: 2024-03-16 16:45:57 浏览: 22
当使用 JDBC 连接 MySQL 数据库进行查询操作时,可以通过 ResultSet 对象获取查询结果集。在获取结果集中的数据时,可以使用 ResultSet 对象提供的 getString() 方法来获取指定列的字符串值。
例如,假设查询结果集中包含一个名为 "name" 的字符串类型的列,可以使用以下代码获取该列的字符串值:
```
ResultSet rs = statement.executeQuery("SELECT name FROM users");
while (rs.next()) {
String name = rs.getString("name");
System.out.println(name);
}
```
在上述代码中,rs.getString("name") 方法会返回当前行的 "name" 列的字符串值。需要注意的是,getString() 方法只能获取字符串类型的数据,如果要获取其他类型的数据,需要使用对应的方法,如 getInt()、getDouble() 等。
相关问题
JAVA学生信息管理系统GUI界面连接MYSQL代码
以下是一个简单的Java学生信息管理系统GUI界面连接MySQL数据库的代码示例:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class StudentDAO {
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/studentdb";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
public static Connection getConnection() throws SQLException {
try {
Class.forName(DRIVER_CLASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
public static List<Student> getAllStudents() {
List<Student> students = new ArrayList<Student>();
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("SELECT * FROM student");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Student s = new Student(rs.getInt("id"), rs.getString("name"), rs.getInt("age"),
rs.getString("gender"), rs.getString("major"));
students.add(s);
}
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return students;
}
public static void addStudent(Student s) {
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("INSERT INTO student (name, age, gender, major) VALUES (?, ?, ?, ?)");
ps.setString(1, s.getName());
ps.setInt(2, s.getAge());
ps.setString(3, s.getGender());
ps.setString(4, s.getMajor());
ps.executeUpdate();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void updateStudent(Student s) {
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("UPDATE student SET name = ?, age = ?, gender = ?, major = ? WHERE id = ?");
ps.setString(1, s.getName());
ps.setInt(2, s.getAge());
ps.setString(3, s.getGender());
ps.setString(4, s.getMajor());
ps.setInt(5, s.getId());
ps.executeUpdate();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void deleteStudent(Student s) {
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("DELETE FROM student WHERE id = ?");
ps.setInt(1, s.getId());
ps.executeUpdate();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
这个示例代码中,我们定义了一个 `StudentDAO` 类,其中包含了对 MySQL 数据库的连接、查询、插入、更新和删除操作。在这个类中,我们使用了 `PreparedStatement` 对象来执行 SQL 命令,这样可以避免 SQL 注入攻击。同时,我们还定义了一个 `Student` 类,表示一个学生信息。在 `getAllStudents()` 方法中,我们使用了 `ResultSet` 对象来获取查询结果,并将结果封装成 `Student` 对象的集合返回。在其他的方法中,我们使用了 `PreparedStatement` 对象来执行对数据库的增、删、改操作。
编写方法,实现查询dept表的数据将其封装为对象,然后装载到集合中返回
好的,根据你的要求,我来编写一个Java方法,实现查询dept表的数据,将其封装为对象,然后装载到集合中返回。
```
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class DeptDao {
// 查询dept表的数据,将其封装为对象,然后装载到集合中返回
public List<Dept> getDeptList() {
List<Dept> deptList = new ArrayList<>();
String sql = "SELECT * FROM dept";
try {
// 获取数据库连接
Connection conn = getConnection();
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行查询语句,获取结果集
ResultSet rs = stmt.executeQuery(sql);
// 遍历结果集,将每条记录封装为Dept对象,并添加到deptList集合中
while (rs.next()) {
Dept dept = new Dept();
dept.setDeptNo(rs.getInt("deptno"));
dept.setDname(rs.getString("dname"));
dept.setLoc(rs.getString("loc"));
deptList.add(dept);
}
// 关闭连接和Statement对象
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 返回deptList集合
return deptList;
}
// 获取数据库连接
private Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
return DriverManager.getConnection(url, user, password);
}
}
```
上述代码中,我们使用了JDBC来查询dept表的数据,将每条记录封装为Dept对象,并添加到deptList集合中。注意,为了方便演示,我们在代码中直接将数据库的连接信息写死了,实际应用中应该使用配置文件或者其他方式来获取连接信息。另外,我们也没有对异常进行详细处理,实际应用中应该根据具体情况来处理异常。