该部分内容实现的功能主要是:从数据库中查询数据并展示到页面,在页面中新增数据信息,在页面中修改数据信息,在页面中删除数据信息。=================stuList.jsp================
//本页为数据显示页面
<%@ page import="java.util.List" %>
<%@ page import="com.ibeifeng.student.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>stuList</title>
</head>
<body>
<a href="addStu.jsp">新增学员</a>
<table width="100%" border="1px solid black"><tr><td>学号</td><td>姓名</td><td>密码</td><td>性别</td><td>邮箱</td><td>操作</td></tr><%List<Student> list = (List<Student>)request.getAttribute("list");for(Student stu : list){%><tr><td><%=stu.getId()%></td><td><%=stu.getName()%></td><td><%=stu.getPwd()%></td><td><%=stu.getSex()%></td><td><%=stu.getEmail()%></td><td><a href="updateStu.jsp?sid=<%=stu.getId()%>">修改</a> | <a href="doDel.jsp?sid=<%=stu.getId()%>">删除</a></td></tr><%    }%>
</table>
</body>
</html>===============doList02.jsp==================
//本页是数据显示页面stuList的后台数据处理部分
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="com.ibeifeng.student.Student" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="com.ibeifeng.student.ConfigUtil" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%Class.forName(new ConfigUtil().getValue("driver"));Connection conn = DriverManager.getConnection(new ConfigUtil().getValue("url"),new ConfigUtil().getValue("username"),new ConfigUtil().getValue("password"));String sql = "select * from student";PreparedStatement ps = conn.prepareStatement(sql);ResultSet rs = ps.executeQuery();List<Student> list = new ArrayList<Student>();while(rs.next()){Student stu = new Student();stu.setId(rs.getInt(1));stu.setName(rs.getString(3));stu.setPwd(rs.getString(2));stu.setSex(rs.getInt(4));stu.setEmail(rs.getString(5));list.add(stu);}if(rs != null){rs.close();}if(ps != null){ps.close();}if(conn != null){conn.close();}request.setAttribute("list",list);request.getRequestDispatcher("stuList.jsp").forward(request,response);
%>====================addStu.jsp==============
//本页为新增数据的页面展示部分
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>新增学员信息</title>
</head>
<body>
<form action="doSave.jsp" method="post"><table align="center" border="1px solid black"><tr><td>学号</td><td><input type="text" name="stuId" > </td></tr><tr><td>姓名</td><td><input type="text" name="stuName" ></td></tr><tr><td>密码</td><td><input type="password" name="pwd" ></td></tr><tr><td>性别</td><td><input type="radio" name="gender" value="0">女<input type="radio" name="gender" value="1">男</td></tr><tr><td>邮箱</td><td><input type="text" name="email" ></td></tr><tr><td colspan="2"><input type="submit" name="submit" value="保存"><input type="button" name="return" value="取消"></td></tr></table>
</form>
</body>
</html>===================doSave.jsp==============
//本页为数据新增页面,保存按钮的数据处理部分
<%@ page import="com.ibeifeng.student.ConfigUtil" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");Class.forName(new ConfigUtil().getValue("driver"));Connection conn = DriverManager.getConnection(new ConfigUtil().getValue("url"),new ConfigUtil().getValue("username"),new ConfigUtil().getValue("password"));String sql = "insert into student(stu_id,stu_name,pwd,sex,email) values(?,?,?,?,?)";PreparedStatement ps = conn.prepareStatement(sql);String rid = request.getParameter("stuId");int id =  Integer.parseInt(rid);ps.setInt(1,id);ps.setString(2,request.getParameter("stuName"));ps.setString(3,request.getParameter("pwd"));ps.setInt(4,1);ps.setString(5,request.getParameter("email"));int isSuccess = ps.executeUpdate();System.out.print(isSuccess);if(isSuccess <= 0){System.out.print("新增有误,请重试");request.getRequestDispatcher("/stuInfo/addStu.jsp").forward(request,response);}else{request.getRequestDispatcher("/stuInfo/doList02.jsp").forward(request,response);}if(ps != null){ps.close();}if(conn != null){conn.close();}
%>================updateStu.jsp===============
//本页为数据修改页面展示部分
<%@ page import="com.ibeifeng.student.StudentDao" %>
<%@ page import="com.ibeifeng.student.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取前端页面传递的参数String sid = request.getParameter("sid");   //该参数由stuList页面的<a href="updateStu.jsp?sid=stu.getStudentId()">传递过来//创建StudentDao对象StudentDao stuDao = new StudentDao();Student stu = stuDao.getStuByStuId(sid);if(stu != null){request.setAttribute("stu",stu);}%><html>
<head><title>新增学员信息</title>
</head>
<body>
<form action="doUpdate.jsp" method="post"><table align="center" border="1px solid black"><tr><td>学号</td><td><input type="text" name="stuId" readonly="readonly" value="<%=stu.getId()%>"> </td></tr><tr><td>姓名</td><td><input type="text" name="stuName" value="<%=stu.getName()%>"></td></tr><tr><td>密码</td><td><input type="password" name="pwd" value="<%=stu.getPwd()%>"></td></tr><tr><td>性别</td><td><input type="radio" name="gender" value="0" <%if(stu.getSex() == 0){%>checked="checked"<%}%>>女<input type="radio" name="gender" value="1" <%if(stu.getSex() == 1){%>checked="checked"<%}%>>男</td></tr><tr><td>邮箱</td><td><input type="text" name="email" value="<%=stu.getEmail()%>"></td></tr><tr><td colspan="2"><input type="submit" name="submit" value="保存"><input type="button" name="return" value="取消"></td></tr></table>
</form>
</body>
</html>=================doUpdate.jsp==============
//本页为数据修改部分,后台数据处理操作的内容
<%@ page import="com.ibeifeng.student.ConfigUtil" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="com.ibeifeng.student.StudentDao" %>
<%@ page import="com.ibeifeng.student.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");Class.forName(new ConfigUtil().getValue("driver"));Connection conn = DriverManager.getConnection(new ConfigUtil().getValue("url"),new ConfigUtil().getValue("username"),new ConfigUtil().getValue("password"));String stuid = request.getParameter("stuId");int sid = Integer.parseInt(stuid);String name = request.getParameter("stuName");String pwd = request.getParameter("pwd");String gender = request.getParameter("gender");int gen = Integer.parseInt(gender);String email = request.getParameter("email");StudentDao stuDao = new StudentDao();Student stu = new Student();stu.setId(sid);stu.setName(name);stu.setPwd(pwd);stu.setSex(gen);stu.setEmail(email);int resule = stuDao.updateStu(stu);if(resule > 0){request.getRequestDispatcher("doList02.jsp").forward(request,response);}else{request.getRequestDispatcher("updateStu.jsp?sno="+stuid).forward(request,response);}
%>===============doDel.jsp===================
//本页为数据删除部分后台处理内容
<%@ page import="com.ibeifeng.student.StudentDao" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");String sid = request.getParameter("sid");StudentDao stuDao = new StudentDao();stuDao.delStu(sid);request.getRequestDispatcher("doList02.jsp").forward(request,response);
%>===============BaseDao.java=================
//本页为封装的方法,主要是涉及到数据库连接的初始化、查询、更新、资源释放
package com.ibeifeng.student;import java.sql.*;/*
* JDBC操作DAO通用类方法封装
* */
public class BaseDao {static Connection conn = null;static PreparedStatement ps = null;static ResultSet rs = null;//静态语句块static{try {Class.forName(ConfigUtil.getValue("driver"));} catch (ClassNotFoundException e) {e.printStackTrace();}}public static Connection getConn(){try {conn = DriverManager.getConnection(ConfigUtil.getValue("url"),ConfigUtil.getValue("username"),ConfigUtil.getValue("password"));} catch (SQLException e) {e.printStackTrace();}return conn;}/** 查询* */public ResultSet search(String sql){try {rs = ps.executeQuery();return rs;} catch (SQLException e) {throw new RuntimeException();}}/** 更新数据* */public int modify(String sql){try {return ps.executeUpdate(sql);} catch (SQLException e) {throw new RuntimeException();}}public static void close(ResultSet rs, PreparedStatement ps, Connection conn){try {if(rs != null) {rs.close();}if(ps != null) {ps.close();}if(conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}
}=================ConfigUtil.java==============
//本页封装了从配置文件读取数据的方法
package com.ibeifeng.student;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;public class ConfigUtil {//通过key获取jdbc配置的valuepublic static String getValue(String key){Properties pro = new Properties();//获取流信息InputStream is = ConfigUtil.class.getResourceAsStream("/jdbc.properties");try {//加载流文件
            pro.load(is);//获取属性值return pro.getProperty(key);} catch (IOException e) {throw new RuntimeException();}}
}================StudentDao.java==============
//本页封装了对于数据库,数据处理的一些方法
package com.ibeifeng.student;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class StudentDao {/** Student Dao用于处理Student类* */Connection conn = null;PreparedStatement ps = null;public int updateStu(Student stu){/** 更新学员信息* */String sql = "update student set stu_name=?,pwd=?,sex=?,email=? where stu_id=?";try {ps = BaseDao.getConn().prepareStatement(sql);ps.setString(1,stu.getName());ps.setString(2,stu.getPwd());ps.setInt(3,stu.getSex());ps.setString(4,stu.getEmail());ps.setInt(5,stu.getId());return ps.executeUpdate();} catch (SQLException e) {throw new RuntimeException();}finally {BaseDao.close(null,ps,conn);}}public Student getStuByStuId(String stu_id){String sql = "select * from student where stu_id=?";Student stu = null;try {conn = BaseDao.getConn();ps = conn.prepareStatement(sql);int sid = Integer.parseInt(stu_id);ps.setInt(1,sid);ResultSet rs = ps.executeQuery();if(rs.next()){stu = new Student();stu.setId(rs.getInt("stu_id"));stu.setName(rs.getString("stu_name"));stu.setPwd(rs.getString("pwd"));stu.setSex(rs.getInt("sex"));stu.setEmail(rs.getString("email"));}} catch (SQLException e) {e.printStackTrace();}finally {BaseDao.close(null,ps,conn);}return stu;}/** 根据学号删除学生信息* */public int delStu(String sid){String sql = "delete from student where stu_id = ?";conn = BaseDao.getConn();try {ps = conn.prepareStatement(sql);int id = Integer.parseInt(sid);ps.setInt(1,id);return ps.executeUpdate();} catch (SQLException e) {throw new RuntimeException();}}
}===================Student.java==============
//封装类对象
package com.ibeifeng.student;public class Student {private int id;private String name;private String pwd;private int sex;private String email;public Student(){}public void setId(int id) {this.id = id;}public void setName(String name) {this.name = name;}public void setPwd(String pwd) {this.pwd = pwd;}public void setSex(int sex) {this.sex = sex;}public void setEmail(String email) {this.email = email;}public int getId() {return id;}public String getName() {return name;}public String getPwd() {return pwd;}public int getSex() {return sex;}public String getEmail() {return email;}
}=============jdbc.properties=============
//配置文件信息
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=123456

转载于:https://www.cnblogs.com/helloworldlx/p/9033679.html

java操作数据库,以页面显示学生信息为例相关推荐

  1. java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码、数据库)

    java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm ...

  2. Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。

    我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...

  3. Java课程设计-基于Swing的学生信息管理系统

    Java课程设计-基于Swing的学生信息管理系统 1.介绍 2.相关技术 3.项目地址 4.所需环境 5.安装教程 6.运行截图 7.相关博客 本代码是整理其他人项目,如有问题请及时联系笔者. 1. ...

  4. Java实训项目:GUI学生信息管理系统(2017)

    Java实训项目:GUI学生信息管理系统(2017) 实训目的:让学生综合运用J2SE有关知识开发[学生信息管理系统].主要涉及程序控制结构.面向对象编程.图形用户界面.Java数据库应用.MySQL ...

  5. Java操作数据库方式二DBCP使用详解

    ##概述 DBCP的全称是:DataBase connection pool,翻译是:数据库连接池. 在Java操作数据库方式一JDBC使用详解中说到直接使用JDBC非常消耗资源.为了避免频繁关闭链接 ...

  6. 一文快速回顾 Java 操作数据库的方式-JDBC

    前言 数据库的重要性不言而喻,不管是什么系统,什么应用软件,也不管它们是 Windows 上的应用程序,还是 Web 应用程序,存储(持久化)和查询(检索)数据都是核心的功能. 大家学习数据库时,比如 ...

  7. 显示学生信息的C语言,学生信息管理系统C语言.doc

    学生信息管理系统C语言 学生信息管理系统 摘要 由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校 ...

  8. 理解Java操作数据库原理

    2019独角兽企业重金招聘Python工程师标准>>> 参考:https://blog.csdn.net/xiaozhegaa/article/details/70208646 上面 ...

  9. Java实训项目:GUI学生信息管理系统(2019)【下】

    Java实训项目:GUI学生信息管理系统(2019)[下] 本篇目录 六.实现步骤 13.应用程序类 14.窗口界面类(JFrame)

  10. Java实训项目:GUI学生信息管理系统(2019)【中】

    Java实训项目:GUI学生信息管理系统(2019)[中] 本篇目录 四.涉及知识点 1.Java基本语法 2.Java流程控制

最新文章

  1. 动态规划备忘录方法递归方法
  2. 牛客网(剑指offer) 第二十五题 复杂链表的复制
  3. 华为路由器hilink怎么用_华为无线充电怎么用?MatePadPro无线充电使用方法
  4. 基于FPGA实现SDI转Camera Link接口
  5. 诺基亚首款5G手机正式发布!还有Nokia 5310经典再现
  6. mysql分頁查詢_mysql分頁查詢 | 學步園
  7. c语言文件.ppt,c语言 文件.ppt
  8. 物体检测中常用的几个概念迁移学习、IOU、NMS理解
  9. 图解 Elasticsearch 写入流程
  10. linux vi脚本,用VIM编写脚本
  11. Echarts快速入门
  12. 狼人杀纯白之女个人理解
  13. 传詹克团、吴忌寒将卸任比特大陆CEO一职
  14. Linux使用uinput实现虚拟鼠标
  15. 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
  16. 【动态规划】prob
  17. OPPO广告联盟战略升级,全面提升开发者变现效率
  18. 前端js获取一个数组中的连续数字
  19. java初级程序员提高_初级Java程序员如何发展、晋升?
  20. 2021 腾讯游戏客户端暑期实习 一面

热门文章

  1. 系统学习机器学习之神经网络(一)--MLP及局部模型,RBF综述
  2. Airpal安装部署
  3. express中间件和路由教程
  4. 【17】Python100例基础练习(3)
  5. LeetCode Maximum Product Subarray 解题报告
  6. PHP截取中文字符串的方法
  7. [转载] 七龙珠第一部——第019话 天下第一武道会开始
  8. Zen Cart对空间或主机的要求
  9. DevExpress 破解方式
  10. nginx负载均衡?