学生信息管理系统-java-连接数据库.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; import java.util.Scanner; public class Student { public static final String DRIVER="sun.jdbc.odbc.JdbcOdbcDriver"; public static final String URL="jdbc:odbc:student"; public static final String USERNAME="root";//用户名 public static final String PASSWORD="root";//密码 private static String name;//当前登录管理员的名字 private static int userid;//当前登录管理员的主键 //获得jdbc链接 public Connection connection(){ try { Class.forName(DRIVER); Connection con=DriverManager.getConnection(URL, USERNAME, PASSWORD); return con; } catch (Exception e) { e.printStackTrace(); } return null; } //管理员登陆 public boolean login() throws Exception{ Scanner sc = new Scanner(System.in); System.out.print("输入用户名:"); String username = sc.next(); System.out.print("输入密码:"); String password = sc.next(); //查找该用户 String sql = "select username,id from muser where username='" + username + "' and password='" + password + "'"; Connection connection = connection(); Statement statement = connection.createStatement(); ResultSet rs = statement.executeQuery(sql); if (rs.next()) { name = rs.getString(1); userid = rs.getInt(2); return true; } return false; } //添加学生 //添加学生 public void addstudent(){ System.out.print("请依次输入学号,姓名,年龄,地址(用逗号隔开):"); Scanner scanner = new Scanner(System.in); String[] str = scanner.next().split(","); /**********************begin 验证学号是否重复*************************/ String sql = "select * from student where 1=1 and stuno="+str[0]; try { Connection connection = connection(); Statement statement = connection.createStatement(); ResultSet rs = statement.executeQuery(sql); if(rs.next()){ System.out.println("该学号已经存在,请更换"); return; } } catch (SQLException ex) { } /**********************end 验证学号是否重复*************************/ String sql1 = "insert into student(stuno,stuname,stuage,stuaddress) values(?,?,?,?)"; Connection conn 《学生信息管理系统-Java连接数据库实现》 在Java编程领域,设计和开发一个学生信息管理系统是常见的实践项目,尤其在教育和技术培训环境中。本系统主要涉及数据库连接、用户登录验证以及数据插入操作,以实现对学生的学号、姓名、年龄和地址等信息的管理。下面我们将详细探讨这些关键知识点。 系统通过`java.sql`包中的`Connection`、`DriverManager`、`PreparedStatement`、`ResultSet`和`SQLException`等类来与数据库进行交互。`Connection`对象代表了到数据库的会话,而`DriverManager`则用于管理数据库驱动并建立连接。在Java中,使用`Class.forName()`方法加载数据库驱动,这里是`sun.jdbc.odbc.JdbcOdbcDriver`,这表明系统使用的是ODBC(Open Database Connectivity)作为数据库连接桥,它可以连接到多种数据库,包括MySQL、Oracle等。URL`jdbc:odbc:student`是ODBC数据源名称,表示连接到名为"student"的数据源。 用户登录功能由`login()`方法实现。用户输入的用户名和密码被存储在`username`和`password`变量中。通过SQL查询`SELECT username, id FROM muser WHERE username=? AND password=?`,系统检查输入的凭证是否与数据库中记录匹配。`Statement`对象用于执行SQL语句,`ResultSet`对象则用于接收查询结果。如果找到匹配的用户记录,将返回`true`,否则返回`false`。 添加学生信息的功能由`addstudent()`方法处理。用户需输入学号、姓名、年龄和地址,这些信息被分隔并存储在`str`数组中。在添加新记录前,系统先通过SQL查询`SELECT * FROM student WHERE 1=1 AND stuno=?`验证学号是否已存在于数据库中,防止重复录入。如果查询结果存在,提示用户更换学号,否则执行插入操作。这里使用了`PreparedStatement`,它可以防止SQL注入攻击,并提高代码的可读性和可维护性。`sql1`是预编译的SQL语句,`values(?,?,?,?)`中的问号是占位符,将被`str`数组的元素替换。 这个系统虽然简单,但它演示了Java数据库操作的基本流程,包括连接建立、SQL执行和异常处理,对于初学者来说具有很好的学习价值。然而,实际应用中,推荐使用更安全的JDBC驱动(如MySQL Connector/J),并考虑使用存储过程或参数化查询来提高效率和安全性。此外,密码通常应进行加密存储,以增强系统的安全性。系统的错误处理和日志记录也需进一步完善,以提供更好的用户体验和故障排查能力。
- 粉丝: 199
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2025年AI产业发展十大趋势报告.pptx
- RAG在办公领域中的探索与实践.pptx
- OPPO数据湖加速大模型训练2024.pptx
- 安全大模型的最后一公里智能决策与自动响应.pptx
- 大模型生产力工具的思考与实践.pptx
- Base64编码解码工具
- 超拟人大模型的情绪价值体验.pptx
- 大模型推理框架升级之路.pptx
- 大模型时代下,基于湖仓一体的数据智能新范式+.pptx
- 大模型时代下的AI for Science.pptx
- 大模型在华为云数字化运维的全面探索和实践.pptx
- 大模型与图机器学习协同的用户行为风控.pptx
- 大语言模型与知识图谱.pptx
- 电商知识图谱建设及大模型应用探索.pptx
- 地瓜机器人RDK系列部署生成式AI模型.pptx
- 抖音电商搜索运营提升指南品牌场课件.pptx