JBDC应用: 1.参照集合应用中学生类的属性,自行创建mysql数据库,并建立相关表,用于存储的学生类信息,自行输入测试数据。 2.使用JBDC访问MySQL数据库,编写数据库连接类DBManager 3.编写方法Student[]Find()返回学生中姓王的数据信息 4.编写方法Boolean Contain (Student stu),判断相关表中是否包含stu对象的信息,若包含则返回ture,否则返回false
时间: 2024-04-19 16:29:08 浏览: 74
1. 首先,您需要在MySQL数据库中创建一个用于存储学生类信息的表。以下是一个简单的示例:
```sql
CREATE DATABASE students_db;
USE students_db;
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
age INT,
gender VARCHAR(10)
);
```
请根据学生类的属性自行调整表的结构,并插入测试数据。
2. 接下来,您可以编写一个名为DBManager的数据库连接类来连接MySQL数据库。以下是一个简单示例:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBManager {
private String url = "jdbc:mysql://localhost:3306/students_db";
private String username = "your_username";
private String password = "your_password";
private Connection connection;
public DBManager() {
try {
connection = DriverManager.getConnection(url, username, password);
System.out.println("Connected to the database!");
} catch (SQLException e) {
e.printStackTrace();
}
}
public Connection getConnection() {
return connection;
}
public void closeConnection() {
try {
connection.close();
System.out.println("Connection closed!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
请确保将`your_username`和`your_password`替换为您的MySQL用户名和密码。
3. 现在,您可以编写一个名为`Find()`的方法来返回姓王的学生数据信息。以下是一个简单示例:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class DBManager {
// ... 省略前面的代码 ...
public List<Student> find() {
List<Student> result = new ArrayList<>();
try {
String sql = "SELECT * FROM students WHERE name LIKE '王%'";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String gender = resultSet.getString("gender");
Student student = new Student(id, name, age, gender);
result.add(student);
}
resultSet.close();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
// ... 省略后面的代码 ...
}
```
这个方法会返回一个`List<Student>`,其中包含了姓王的学生数据信息。
4. 最后,您可以编写一个名为`contain()`的方法来判断相关表中是否包含指定的学生对象。以下是一个简单示例:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBManager {
// ... 省略前面的代码 ...
public boolean contain(Student stu) {
try {
String sql = "SELECT COUNT(*) FROM students WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, stu.getId());
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
int count = resultSet.getInt(1);
return count > 0;
}
resultSet.close();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
// ... 省略后面的代码 ...
}
```
这个方法会返回一个布尔值,指示相关表中是否包含指定的学生对象。
希望这些代码示例能对您有所帮助!如有其他问题,请随时提问。
阅读全文