下面我来详细讲解Java实现学生信息管理系统使用数据库的完整攻略。
思路
实现学生信息管理系统需要考虑以下几个方面:
- 数据库的设计和建立
- Java程序连接数据库
- Java程序操作数据库
- 前端页面的设计和制作
- 将Java程序和前端页面结合在一起
在这里我们选择使用MYSQL数据库进行操作,使用JDBC连接数据库,采用MVC设计模式来实现程序。
实现步骤
1. 数据库的设计和建立
首先我们需要设计数据库中的表,表的结构如下:
CREATE DATABASE IF NOT EXISTS `student`;
USE `student`;
CREATE TABLE `students` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生ID',
`name` varchar(30) NOT NULL COMMENT '学生姓名',
`gender` varchar(6) NOT NULL COMMENT '学生性别',
`age` int(3) NOT NULL COMMENT '学生年龄',
`class` varchar(30) NOT NULL COMMENT '学生班级',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';
2. Java程序连接数据库
在Java中连接数据库需要使用JDBC,需要先导入相关的jar包,这里我们使用的是MySQL Connector的jar包。
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
3. Java程序操作数据库
操作数据库需要使用Java中的Statement和PreparedStatement,在Java中使用Statement时,存在SQL注入的问题,因此建议使用PreparedStatement。
例如,往students表中插入一条记录:
String sql = "insert into students(name, gender, age, class) values(?,?,?,?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, "张三");
pst.setString(2, "男");
pst.setInt(3, 18);
pst.setString(4, "一班");
pst.executeUpdate();
查询students表中的所有记录:
String sql = "select * from students";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String gender = rs.getString("gender");
int age = rs.getInt("age");
String _class = rs.getString("class");
}
4. 前端页面的设计和制作
前端页面的设计需要根据需求来定,这里我们可以采用Bootstrap来设计前端页面。
例如,我们可以新增学生信息页面如下:
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-8 col-md-offset-2">
<form class="form-horizontal" role="form">
<div class="form-group">
<label class="col-sm-2 control-label">姓名</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入姓名" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别</label>
<div class="col-sm-10">
<label class="radio-inline">
<input type="radio" name="gender" value="male" /> 男
</label>
<label class="radio-inline">
<input type="radio" name="gender" value="female" /> 女
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">年龄</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入年龄" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">班级</label>
<div class="col-sm-10">
<input type="text" class="form-control" placeholder="请输入班级" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">提交</button>
</div>
</div>
</form>
</div>
</div>
</div>
5. 将Java程序和前端页面结合在一起
将Java程序和前端页面进行结合需要使用Servlet和JSP。
例如,我们可以采用Servlet来处理学生信息的新增:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
String _class = request.getParameter("class");
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
String sql = "insert into students(name, gender, age, class) values(?,?,?,?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, name);
pst.setString(2, gender);
pst.setInt(3, age);
pst.setString(4, _class);
pst.executeUpdate();
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
response.sendRedirect("index.jsp");
}
在JSP页面中引用新增学生信息页面:
<jsp:include page="add.jsp" />
示例
这里我提供两个示例来说明如何使用Java实现学生信息管理系统。
示例一
添加学生信息:
-
访问网站首页,点击“添加学生”按钮
-
进入添加学生信息页面,填写学生信息并点击“提交”按钮
-
系统将新增一条学生信息,并返回到学生信息列表页面
查询学生信息:
-
访问网站首页,点击“学生列表”按钮
-
进入学生信息列表页面,可以看到学生的基本信息
示例二
添加学生信息:
- 通过Java程序批量添加学生信息
查询学生信息:
-
通过Java程序查询所有学生信息
-
将学生信息展示在前端页面上
以上两个示例仅为演示,实际上学生信息管理系统还可以提供修改、删除、查询、导出等功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现学生信息管理系统(使用数据库) - Python技术站