JavaWeb实现mysql数据库数据的添加和删除

目录
  • 准备操作
    • 1. 配置mysql环境
    • 2. 创建Servlet Project
    • 3. 创建EMS Package
    • 4. 分别创建Servlet
    • 5. 创建addUser.html
    • 6. 配置web.xml文档
    • 7. 打开服务器并重新部署服务器
    • 8. 效果展示
  • 添加员工数据界面
  • 显示员工数据
  • 添加员工数据
  • 删除员工数据

准备操作

1. 配置mysql环境

连接mysql数据库

2. 创建Servlet Project

3. 创建EMS Package

4. 分别创建Servlet

UserListServlet:用于实现访问数据库,并将数据在页面显示的功能。

UserAddServlet:用于获取request数据,并将数据添加到ems数据库user表中。

UserDeleteServlet:用于通过员工id删除ems数据库中user表中id对应的数据

5. 创建addUser.html

6. 配置web.xml文档

<servlet>
    <servlet-name>UserListServlet</servlet-name>
    <servlet-class>EMS.UserListServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UserDeleteServlet</servlet-name>
    <servlet-class>EMS.UserDeleteServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UserAddServlet</servlet-name>
    <servlet-class>EMS.UserAddServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UserListServlet</servlet-name>
    <url-pattern>/list</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
  		<servlet-name>UserDeleteServlet</servlet-name>
  		<url-pattern>/delete</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UserAddServlet</servlet-name>
    <url-pattern>/addUser</url-pattern>
  </servlet-mapping>

7. 打开服务器并重新部署服务器

8. 效果展示

显示数据库数据

删除数据库数据

添加数据库数据

添加员工数据界面

addUser.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>添加员工</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>

  <body>
    <center>
    	<h1>添加员工信息</h1>
    	<form action="addUser" method="post">
			工号:<input type="text" name="id"/><br/>
			姓名:<input type="text" name="name"/><br/>
			工资:<input type="text" name="salary"/><br/>
			年龄:<input type="text" name="age"/><br/>
			<input type="submit" name="smt" value="提交"/>
    	</form>
    </center>
  </body>
</html>

显示员工数据

UserListServlet

package EMS;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//员工信息查询的Servlet
public class UserListServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//使用JDBC连接mysql数据库,将user表中的输出查询处理
		ResultSet result=null;
		Connection con=null;
		try {
			//(1)注册加载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//(2)获得数据库的链接
			//(1).连接mysql的url地址
			String url="jdbc:mysql://localhost:3306/ems";
			//(2).连接mysql的用户名
			String username="root";
			//(3).连接mysql的密码
			String pwd="123456";
			con=DriverManager.getConnection(url, username, pwd);
			//(3)预编译sql语句
			System.out.println("MySQL连接成功!"+con);

			//3.预编译SQL语句
			String sql="select * from user";
			PreparedStatement prep=con.prepareStatement(sql);
			//(4)执行sql语句
			result=prep.executeQuery();

		} catch (Exception e) {
			e.printStackTrace();
		}

		//使用response,获得字符输出流PrintWriter,将查询出的结果输出到浏览器端
		//设置格式编码
		response.setContentType("text/html;charset=utf-8");

		//向浏览器端输出一个表格
		PrintWriter pw=response.getWriter();
		pw.println("<table border='1' cellspacing='0' width='400' height='80' align='center'>");
		pw.println("<caption>员工信息表</caption>");
		pw.println("<tr align='center'>");
		pw.println("<td>工号</td><td>姓名</td><td>工资</td><td>年龄</td>");
		pw.println("</tr>");
		try {
			while(result.next())
			{
				pw.println("<tr align='center'><td>"+result.getInt("id")+"</td><td>"
				+result.getString("name")+"</td><td>"+result.getDouble("salary")+"</td><td>"
				+result.getInt("age")+"</td><td><a href='delete?id="+result.getInt("id")+"'>删除</a></td></tr>");
				System.out.println(result.getInt("id")+"---"+result.getString("name")+"---"+
						result.getDouble("salary")+"---"+result.getInt("age"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		//表格的最后一行
		pw.println("<tr><td colspan='5'><a href='addUser.html'>添加员工信息</a></td></tr>");
		pw.println("</table>");
		//关闭
		try {
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

}

添加员工数据

UserAddServlet

package EMS;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import DBUtil.DBUtil;
//添加员工信息的Servlet
public class UserAddServlet extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String strId=request.getParameter("id");
		String strName=request.getParameter("name");
		String strSal=request.getParameter("salary");
		String strAge=request.getParameter("age");
		System.out.print(strId+strName+strSal+strAge);

		try {
			//使用jdbc连接数据库
			Connection con=DBUtil.getCon("ems");
			//预编译sql语句
			String sql="insert into user values(?,?,?,?)";
			PreparedStatement prep=con.prepareStatement(sql);
			prep.setInt(1, Integer.parseInt(strId));
			prep.setString(2, strName);
			prep.setDouble(3, Double.parseDouble(strSal));
			prep.setInt(4, Integer.parseInt(strAge));
			//执行sql语句
			prep.executeUpdate();
			//关闭数据库的连接
			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		//插入成功后,回到list首页
		//重定向
		response.sendRedirect("list");
	}

}

删除员工数据

UserDeleteServlet

package EMS;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import DBUtil.DBUtil;
//员工信息删除的Servlet
public class UserDeleteServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//接收请求中的参数
		//http://localhost:8080/Servlet/delete?id=2
		String strId=request.getParameter("id");
		//System.out.println("工号:"+strId);
		try {
			//2~3,使用JDBC连接mysql数据库,完成删除的操作
			Connection con=DBUtil.getCon("ems");
			//System.out.println(con);//com.mysql.jdbc.JDBC4Connection@64dfeb
			//预编译sql语句
			String sql="delete from user where id=?";
			PreparedStatement prep=con.prepareStatement(sql);
			//设置sql语句中的问号   参数1:表示第几个问好   参数2:对问号设置的内容
			prep.setInt(1,Integer.parseInt(strId));
			//执行sql语句
			//executeUpdate()适用于删除delete、修改update、插入insert     executeQuery()适用于查询select
			prep.executeUpdate();
			//关闭数据库的连接
			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		//4,删除成功以后,回到http://localhost:8080/ems-servlet/list首页地址
		//转发技术:将未完成的工作交给下一个组件继续完成,浏览器地址栏的地址不会发生变化,它是一次请求
		//重定向技术:已经完成了工作,只是为了跳转到下一个地址显示,浏览器地址栏的地址会发生变化,是两次请求
		//写一个Servlet对应的url-pattern地址,会重定向到对应的Servlet来执行
		response.sendRedirect("list");
	}

}

以上就是JavaWeb实现mysql数据库数据的添加和删除的详细内容,更多关于JavaWeb数据添加删除的资料请关注我们其它相关文章!

(0)

相关推荐

  • javaweb中mysql数据库连接步骤方法及其实例

    一.直接连接,不封装到工具类中,主要步骤: 先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面),放在WebRoot/WEB-INF/lib/下 1.加载驱动//com.MySQL.jdbc.Driver 2.获取连接 Connection对象 3.获取用于向数据库发送SQL的Statement对象 4.执行sql,获取数据,解析数据 5.关闭连接,释放资源 /*协议:子协议://主机:端口/数据库名*/ Stringurl="jdbc:mysql:

  • Java插入修改删除数据库数据的基本方法

    Java数据库之插入记录 插入数据表记录有3种方案 一.使用Statement对象 实现插入数据表记录的SQL语句的语法是: insert into 表名(字段名1,字段名2,--)value (字段值1,字段值2,--) 例如: insert into ksInfo(考号,姓名,成绩,地址,简历)value('200701','张大卫'534,'上海欧阳路218弄4-1202','') 实现同样功能的Java程序代码是: sql = "insert intoksIno(考号,姓名,成绩,地址,

  • JavaWeb连接数据库MySQL的操作技巧

    数据库是编程中重要的一部分,它囊括了数据操作,数据持久化等各方面.在每一门编程语言中都占有相当大的比例. 本次,我以MySQL为例,使用MVC编程思想(请参阅我之前的博客).简单演示一下JavaWeb对数据库的操作. 1:我们需要掌握简单的SQL语句,并且会简单操作图形化的数据库.我们在数据库建一个表(Users)可以在里面随便添加几条数据. 2:接下来,我们获得驱动并连接到MySQL. package com.joker.web.db; import java.sql.Connection;

  • JavaWeb实现mysql数据库数据的添加和删除

    目录 准备操作 1. 配置mysql环境 2. 创建Servlet Project 3. 创建EMS Package 4. 分别创建Servlet 5. 创建addUser.html 6. 配置web.xml文档 7. 打开服务器并重新部署服务器 8. 效果展示 添加员工数据界面 显示员工数据 添加员工数据 删除员工数据 准备操作 1. 配置mysql环境 连接mysql数据库 2. 创建Servlet Project 3. 创建EMS Package 4. 分别创建Servlet UserLi

  • JavaWeb实现显示mysql数据库数据

    目录 EMS-员工信息管理系统 创建ems库 创建user表 插入表格数据 创建UserListServlets 使用JDBC连接数据库 部署服务器 EMS-员工信息管理系统 MySQL学习之基础操作总结 MySQL学习之基础命令实操总结 创建ems库 show databases; create database ems; use ems; 创建user表 create table user( id int primary key auto_increment, name varchar(50

  • Linux下修改MySQL数据库数据文件路径的步骤

    使用rpm安装方式安装完MySQL数据库后,数据文件的默认路径为/var/lib/mysql,然而根目录并不适合用于存储数据文件. 原路径:/var/lib/mysql 目标路径:/home/mysql_data/mysql Linux系统版本:centos7.6 MySQL数据库版本:5.7.25 步骤: 1.创建目标路径 mkdir -p /home/mysql_data 2.关闭MySQL systemctl stop mysqld 3.复制数据文件 cp -arp /var/lib/my

  • shell脚本定时备份MySQL数据库数据并保留指定时间

    公司用到的MySQL数据库,经常有同事通过一顿骚操作把一些关键的配置数据误删,每次恢复都要花上不少时间,于是写了个shell脚本,结合corntab每天凌晨备份数据库,并保留7天. 同样的备份脚本也可用于生产环境MySQL数据库定时备份. 环境:CentOS 7.5 / MySQL 5.7 #!/bin/sh # 数据库账号信息 DB_USER="root" DB_PWD="root" DB_HOST="127.0.0.1" DB_PORT=&q

  • Mysql数据库值的添加、修改、删除及清空操作实例

    3.MySQL数据管理 第一种方式:不太建议,看起来复杂些 -- 学生表的 gradeid 字段,要去引用 年级表的 gradeid -- 定义外键key -- 给这个外键添加约束,(执行引用),REFERENCES 引用 key `FK_gradeid`(`gradeid`) CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`) 第二种方式:建议 -- 创建表成功后,添加外键约束 -- 创建表

  • MySQL数据库数据视图

    目录 一. 数据视图 二.数据视图操作 创建视图 修改视图数据 修改视图列明 删除视图 三.数据的备份与回复 liunx备份 mysql备份 四. MySQL存储过程和函数 概念 五.存储过程操作 初始数据 创建过程 调用存储过程 查找存储过程 删除存储过程 其他语法 六. 存储函数 一. 数据视图 视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式.我们可以将视图看成是一个移动的窗口,从这个窗口中可以看到感兴趣的数据. 二.数据视图操作 创建视图 // 标准语法: CREATE VI

  • 解决mysql数据库数据迁移达梦数据乱码问题

    受到领导的嘱托,接手了一个java项目,要进行重构,同时了项目的整体建设要满足信创的要求. 那么首先就要满足两点: 1,使用国产数据库达梦8替换mysql数据库 2,使用金蝶中间件替换tomcat进行容器部署 在不懈的努力下,我已在本地的搭建和安装完成达梦8(dm8)数据库,也完成了代码框架更改数据库源,替换达梦数据库的demo验证工作. driverClassName: dm.jdbc.driver.DmDriver url: jdbc:dm://10.0.3.132:5236/XC-SERV

  • Vue实现模糊查询-Mysql数据库数据

    目录 1.需求 2.实现 3.结果 1.需求 输入框中输入数据,根据输入的结果模糊搜索数据库对应内容,实现模糊查询. 2.实现 输入框使用v-model双向绑定查询数据keyWord. <el-input v-model="keyWord" placeholder="请输入关键字搜索" clearable></el-input> <el-button type="success" icon="el-icon

  • 使用python连接mysql数据库数据方式

    目录 1.fetchone/fetchmany/fetchall 2.pandas.read_sql() 前言: 使用python连接mysql数据库数据 有以下两种读取数据的方式推荐: 一种是通过游标,及fetch系列方法进行操作,另一种是通过pandas的read_sql()进行读取并操作.各种方法各有优劣,可根据具体情形,择优选择使用. 示例如下: 1.fetchone/fetchmany/fetchall 获取一条.多条.全部条. import pymysql # 数据库相关信息 dbH

  • json格式数据的添加,删除及排序方法

    本文实例讲述了json格式数据的添加,删除及排序方法.分享给大家供大家参考,具体如下: js数据格式和json数据格式,各有各的用处,就个人而言,json更好用一点,js自身的数组和对像限制比较多. 以js的数组举例: var a = ['1']; a[5] = 52; a.length //这儿的结果是6,也就是说,中间的key会自动补全,而值呢,是undefined 一.添加和删除 1.一维数组 test = {}; //空json对像 test['firstname'] = "tank&q

随机推荐