在控制台输出数据库里数据的代码,定义一个Stu类,定义一个方法public List<Stu>findAll(){},实现方法select * from stu;
时间: 2024-02-20 17:58:16 浏览: 25
好的,以下是代码实现:
首先,定义一个Stu类,该类的属性与数据库中stu表的字段对应:
```java
public class Stu {
private int id;
private String name;
private int age;
// 省略getter和setter方法
}
```
接着,定义一个DAO层,该层负责与数据库进行交互:
```java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StuDAO {
// 获取数据库连接
private Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
String username = "root";
String password = "123456";
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return conn;
}
// 查询所有学生信息
public List<Stu> findAll() {
List<Stu> list = new ArrayList<>();
Connection conn = getConnection();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
String sql = "select * from stu";
rs = stmt.executeQuery(sql);
while (rs.next()) {
Stu stu = new Stu();
stu.setId(rs.getInt("id"));
stu.setName(rs.getString("name"));
stu.setAge(rs.getInt("age"));
list.add(stu);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
}
```
在上述代码中,getConnection()方法用于获取数据库连接;findAll()方法用于查询所有学生信息,将查询结果封装到List中并返回。
最后,在主函数中调用findAll()方法输出查询结果:
```java
public static void main(String[] args) {
StuDAO dao = new StuDAO();
List<Stu> list = dao.findAll();
for (Stu stu : list) {
System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge());
}
}
```
这样就可以在控制台输出stu表中的所有数据了。