java操作数据库,以页面显示学生信息为例
该部分内容实现的功能主要是:从数据库中查询数据并展示到页面,在页面中新增数据信息,在页面中修改数据信息,在页面中删除数据信息。=================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操作数据库,以页面显示学生信息为例相关推荐
- java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码、数据库)
java计算机毕业设计ssm基于SSM学生信息管理系统37myx(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm ...
- Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。
我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...
- Java课程设计-基于Swing的学生信息管理系统
Java课程设计-基于Swing的学生信息管理系统 1.介绍 2.相关技术 3.项目地址 4.所需环境 5.安装教程 6.运行截图 7.相关博客 本代码是整理其他人项目,如有问题请及时联系笔者. 1. ...
- Java实训项目:GUI学生信息管理系统(2017)
Java实训项目:GUI学生信息管理系统(2017) 实训目的:让学生综合运用J2SE有关知识开发[学生信息管理系统].主要涉及程序控制结构.面向对象编程.图形用户界面.Java数据库应用.MySQL ...
- Java操作数据库方式二DBCP使用详解
##概述 DBCP的全称是:DataBase connection pool,翻译是:数据库连接池. 在Java操作数据库方式一JDBC使用详解中说到直接使用JDBC非常消耗资源.为了避免频繁关闭链接 ...
- 一文快速回顾 Java 操作数据库的方式-JDBC
前言 数据库的重要性不言而喻,不管是什么系统,什么应用软件,也不管它们是 Windows 上的应用程序,还是 Web 应用程序,存储(持久化)和查询(检索)数据都是核心的功能. 大家学习数据库时,比如 ...
- 显示学生信息的C语言,学生信息管理系统C语言.doc
学生信息管理系统C语言 学生信息管理系统 摘要 由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校 ...
- 理解Java操作数据库原理
2019独角兽企业重金招聘Python工程师标准>>> 参考:https://blog.csdn.net/xiaozhegaa/article/details/70208646 上面 ...
- Java实训项目:GUI学生信息管理系统(2019)【下】
Java实训项目:GUI学生信息管理系统(2019)[下] 本篇目录 六.实现步骤 13.应用程序类 14.窗口界面类(JFrame)
- Java实训项目:GUI学生信息管理系统(2019)【中】
Java实训项目:GUI学生信息管理系统(2019)[中] 本篇目录 四.涉及知识点 1.Java基本语法 2.Java流程控制
最新文章
- 动态规划备忘录方法递归方法
- 牛客网(剑指offer) 第二十五题 复杂链表的复制
- 华为路由器hilink怎么用_华为无线充电怎么用?MatePadPro无线充电使用方法
- 基于FPGA实现SDI转Camera Link接口
- 诺基亚首款5G手机正式发布!还有Nokia 5310经典再现
- mysql分頁查詢_mysql分頁查詢 | 學步園
- c语言文件.ppt,c语言 文件.ppt
- 物体检测中常用的几个概念迁移学习、IOU、NMS理解
- 图解 Elasticsearch 写入流程
- linux vi脚本,用VIM编写脚本
- Echarts快速入门
- 狼人杀纯白之女个人理解
- 传詹克团、吴忌寒将卸任比特大陆CEO一职
- Linux使用uinput实现虚拟鼠标
- 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
- 【动态规划】prob
- OPPO广告联盟战略升级,全面提升开发者变现效率
- 前端js获取一个数组中的连续数字
- java初级程序员提高_初级Java程序员如何发展、晋升?
- 2021 腾讯游戏客户端暑期实习 一面