HttpServlet 实现 MySQL 数据库的插入操作

HttpServlet 实现 MySQL 数据库的插入操作HttpServlet实现MySQL数据库的插入操作MySQL数据库及表的创建过程,请参考前文《MySQL数据库及数据表的创建》。本文重点来分步进行HttpServlet中,MySQL数据库的插入操作实现。实现步骤1.准备数据库的地址、用户名和密码publicstaticfinalStringurl=”jdbc:mysql://localhost:3306/budaye_test01″;publicstaticfinalStringname=”root

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

HttpServlet 实现 MySQL 数据库的插入操作


MySQL 数据库及表的创建过程,请参考前文《MySQL 数据库及数据表的创建》。

本文重点来分步进行 HttpServlet 中,MySQL 数据库的插入操作实现。

实现步骤

1. 准备数据库的地址、用户名和密码

public static final String url = "jdbc:mysql://localhost:3306/budaye_test01";
public static final String name = "root";
public static final String pass = "123456";

Jetbrains全家桶1年46,售后保障稳定

  • 数据库地址:MySQL 数据库创建完成后,本地地址默认都是:jdbc:mysql://localhost:3306。
  • budaye_test01:是数据库的名称,这里已经创建好了,创建过程参考前文。
  • root:是数据库的用户名。
  • pass:数据库用户名多对应的密码。

2. 加载数据库

Class.forName("com.mysql.cj.jdbc.Driver");

这里注意,com.mysql.jdbc.Driver 已弃用。

3. 连接数据库

Connection conn = null;
conn = DriverManager.getConnection(url, name, pass);

4. 插入数据库

// 读请求参数
String parName = request.getParameter("name");
String age = request.getParameter("age");

PreparedStatement prep = null;
prep = conn.prepareStatement("insert into " + "name_table(name,age) " + "values(?,?)");
prep.setString(1, parName);
prep.setDouble(2, Integer.parseInt(age));
prep.executeUpdate();

完整代码

public class UpdateNowList extends HttpServlet {
	private static final long serialVersionUID = 1L;
	public static final String url = "jdbc:mysql://localhost:3306/budaye_test01";
	public static final String name = "root";
	public static final String pass = "mima";
	Connection conn = null;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public UpdateNowList() {
		super();
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置响应内容类型
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		// 读请求参数
		String parName = request.getParameter("name");
        String age = request.getParameter("age");
		PreparedStatement prep = null;

		try {
			// Class.forName("com.mysql.jdbc.Driver"); //已被弃用
			Class.forName("com.mysql.cj.jdbc.Driver");
			System.out.println("Success loading Mysql Driver!");
			conn = DriverManager.getConnection(url, name, pass);
			System.out.println("Success connect Mysql server!");
			prep = conn.prepareStatement("insert into " + "name_table(name,age) " + "values(?,?)");
			prep.setString(1, parName);
			prep.setDouble(2, Integer.parseInt(age));

			prep.executeUpdate();

			out.println("插入成功");

		} catch (Exception e) {
			// 记日志
			e.printStackTrace();
			out.println("连接数据库失败,稍后重试");
		} finally {
			if (prep != null) {
				try {
					prep.close();
				} catch (SQLException e) {
				}
			}
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {

				}
			}
		}
	}
}

PS:更多更多内容……,请查看 –> 《Server 开发》
PS:更多更多内容……,请查看 –> 《Server 开发》
PS:更多更多内容……,请查看 –> 《Server 开发》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223010.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 内存分配与回收策略

    内存分配与回收策略

    2022年4月3日
    329
  • 频谱仪的更改ip_通过局域网(LAN)读取频谱分析仪图像的方法

    频谱仪的更改ip_通过局域网(LAN)读取频谱分析仪图像的方法频谱分析仪在WiFi产品的开发过程中是一种必不可少的有力工具,是射频工程师的得力助手。通常,工程师使用软盘去读取频谱分析仪的图像,这不仅复杂而且现在软盘也不容易买到,即使买到也未必能用,在这里我给出使用局域网(LAN)访问频谱分析仪图像的方法。今天,我发现了一个不用软盘也能存取频谱分析仪上的图像的方法,我从一开始就觉得,既然频谱分析仪后面留有GPIB和LAN接口,就一定能通过GPIB或者LAN…

    2022年8月11日
    18
  • 面试官:说下什么是TCP 的粘包和拆包?

    面试官:说下什么是TCP 的粘包和拆包?

    2022年2月20日
    56
  • mysql截取前几个字符串_mysql 截取字符串 函数[通俗易懂]

    mysql截取前几个字符串_mysql 截取字符串 函数[通俗易懂]文章摘取自http://www.cnblogs.com/zdz8207/p/3765073.html练习截取字符串函数(五个)mysql索引从1开始一、mysql截取字符串函数1、left(str,index)从左边第index开始截取2、right(str,index)从右边第index开始截取3、substring(str,index)当index>0从左边开始截取直到结束当ind…

    2022年6月9日
    96
  • C++中,结构体vector使用sort排序[通俗易懂]

    C++中,结构体vector使用sort排序[通俗易懂]一、遇到问题:今天写代码的是遇到想对vector进行排序的问题,隐约记得std::sort函数是可以对vector进行排序的,但是这次需要排序的vector中压的是自己定义的结构体(元素大于等于2),想以其中某一个元素进行正序或逆序排序,则不能直接使用sort函数。二、解决方案:在网上找资料的过程中,看到http://blog.csdn.net/aguisy/article/d

    2022年10月20日
    3
  • python滑动验证码_python编程是啥

    python滑动验证码_python编程是啥程序功能:程序模仿登入京东主页,自动输入帐号和密码,完成滑块验证,最后领取每日签京豆关键难点:80%的难点在于滑块验证importtimeimportcv2importrandomimportopenpyxlfromurllibimportrequestfromseleniumimportwebdriverimportnumpyasnpfromselenium.webdriver.common.action_chainsimportActionChai

    2025年12月15日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号