以下为学生成绩绩点表: 绩点值,下限分,上限分,等级 4 , 90 , 100, A(优) 3.7 , 87 , 89.9, A- 3.3 , 84 , 86.9 ,B+ 3 , 81 , 83.9 ,B(良) 2.7 , 78 , 80.9 ,B- 2.3 , 75 , 77.9 ,C+ 2 , 72 , 74.9 ,C(中) 1.7 , 69 , 71.9 ,C- 1.3 , 66 , 68.9 ,D+ 1 , 60 , 65.9 ,D 0 , 0 , 59.9 ,F(不及格) 该数据存储在mysql服务器127.0.0.1的test数据库中,其表结构如下: create table JDB( jdh int primary key, jds float , xxf numeric(4,1) , sxf numeric(4,1) , bz char(20) ) 服务器的访问账号为root,登录密码为abcd,要求使用java连接mysql数据库中的jdb,编写菜单方式对该绩点表的增加、删除、修改、查询功能。
时间: 2024-01-18 16:03:28 浏览: 37
好的,您的问题是关于如何使用Java连接MySQL数据库并实现增删改查操作。下面是一个简单的示例代码,仅供参考:
```
import java.sql.*;
public class JDBCDemo {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://127.0.0.1/test";
static final String USER = "root";
static final String PASS = "abcd";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
System.out.println("实例化Statement对象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT jdh, jds, xxf, sxf, bz FROM JDB";
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while(rs.next()){
// 通过字段检索
int jdh = rs.getInt("jdh");
float jds = rs.getFloat("jds");
float xxf = rs.getFloat("xxf");
float sxf = rs.getFloat("sxf");
String bz = rs.getString("bz");
// 输出数据
System.out.print("绩点号: " + jdh);
System.out.print(", 绩点数: " + jds);
System.out.print(", 学分: " + xxf);
System.out.print(", 实际学分: " + sxf);
System.out.println(", 等级: " + bz);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch(SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch(Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if(stmt!=null) stmt.close();
} catch(SQLException se2) {
}
try {
if(conn!=null) conn.close();
} catch(SQLException se){
se.printStackTrace();
}
}
}
}
```
以上代码演示了如何连接MySQL数据库,执行查询语句并处理结果集。要实现增删改功能,可以使用 PreparedStatement 代替 Statement,并传递参数进行操作。例如,添加一条记录的代码如下:
```
String sql = "INSERT INTO JDB (jdh, jds, xxf, sxf, bz) VALUES (?, ?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1); // 绩点号
pstmt.setFloat(2, 90); // 绩点数
pstmt.setFloat(3, 3.0f); // 学分
pstmt.setFloat(4, 3.0f); // 实际学分
pstmt.setString(5, "A"); // 等级
pstmt.executeUpdate();
```
其他操作类似,需要根据具体需求编写。希望以上内容能够对您有所帮助。