后端开发 使用Java语言和Servlet技术,编写后端代码,实现对学员信息的增删改查操作。在查询学员信息列表和修改学员信息列表两大功能中,需要使用JDBC连接MySQL数据库,从数据库中读取学员信息并返回给前端页面。同时,需要编写相应的SQL语句实现对数据库的操作
时间: 2024-02-15 15:03:27 浏览: 134
JSP(Servlet)+MySQL(JDBC) 实现增删改查的信息管理应用
5星 · 资源好评率100%
好的,那我来讲一下后端开发的具体实现。
1. 创建Java项目
首先,我们需要在IDEA中创建一个Java Web项目。在创建项目的过程中,需要选择Web Application模板,并勾选上Create web.xml deployment descriptor选项,以便在项目中使用Servlet。
2. 导入所需的jar包
在项目中引入所需的jar包,包括MySQL的驱动包和Servlet的jar包等。
3. 编写Servlet代码
首先,我们需要创建一个Servlet类,并实现doGet和doPost方法。在doGet方法中,实现查询学员信息列表的操作;在doPost方法中,实现修改学员信息的操作。
在Servlet中,需要使用JDBC连接MySQL数据库,并编写相应的SQL语句实现对数据库的操作。对于查询学员信息列表的操作,我们可以使用SELECT语句从数据库中读取学员信息;对于修改学员信息的操作,我们可以使用UPDATE语句更新学员信息。
具体代码如下:
```java
public class StudentServlet extends HttpServlet {
private Connection conn;
public void init() throws ServletException {
String url = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "123456";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String sql = "SELECT * FROM student_info";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
List<Student> students = new ArrayList<>();
while (rs.next()) {
Student student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setGender(rs.getString("gender"));
student.setAge(rs.getInt("age"));
students.add(student);
}
request.setAttribute("students", students);
request.getRequestDispatcher("list.jsp").forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
try {
String sql = "UPDATE student_info SET name=?, gender=?, age=? WHERE id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, gender);
ps.setInt(3, age);
ps.setInt(4, id);
ps.executeUpdate();
response.sendRedirect("StudentServlet");
} catch (SQLException e) {
e.printStackTrace();
}
}
public void destroy() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们先在init方法中建立与MySQL数据库的连接,然后在doGet方法中执行查询学员信息列表的操作,最后将查询结果存储到request中,并转发到list.jsp页面进行展示。在doPost方法中,我们先获取前端页面提交的学员信息,然后执行修改学员信息的操作,并使用response.sendRedirect方法将请求重定向到学员信息列表页面。
4. 编写SQL语句
我们需要编写相应的SQL语句实现对数据库的操作。具体代码如下:
```sql
-- 创建student_info表
CREATE TABLE `student_info` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学员编号',
`name` varchar(255) NOT NULL COMMENT '学员姓名',
`gender` varchar(255) NOT NULL COMMENT '学员性别',
`age` int(11) NOT NULL COMMENT '学员年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='学员信息表';
-- 向student_info表中插入数据
INSERT INTO `student_info` (`name`, `gender`, `age`) VALUES ('张三', '男', 20);
INSERT INTO `student_info` (`name`, `gender`, `age`) VALUES ('李四', '女', 21);
INSERT INTO `student_info` (`name`, `gender`, `age`) VALUES ('王五', '男', 22);
```
以上就是后端开发的基本步骤。当然,在实际开发中,还需要考虑很多其他方面的问题,比如异常处理、参数校验、代码优化等等。
阅读全文