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 开发》

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 穷举暴力激活成功教程密码(真香版)

    穷举暴力激活成功教程密码(真香版)最近没事干,本来是准备激活成功教程邻居家WiFi密码的,后来发现太慢了,要加载好久,所以自己做了个测试机。下面是激活成功教程器源码:#include<windows.h>#include<iostream>#include<cstdio>#include<conio.h>usingnamespacestd;voiddown(chara){ keybd_event(a,(BYTE)0,0,0); keybd_event(a,(BYTE)0,

  • pycharm搭建python环境_pycharm如何配置编译环境

    pycharm搭建python环境_pycharm如何配置编译环境1.安装python27双击执行python-2.7.15.msi,选择装到根目录,建议d:\Python27。一路下一步,直到完成。安装完成之后,打开cmd,输入:python,如果显示以下内容则说明安装python成功如果提示命令不存在则需要设置环境变量。windows:右键我的电脑–属性–高级系统设置–高级–环境变量–系统变量找到path项,加上值,D:\Python27;D:\P…

  • stl是什么_stl vector

    stl是什么_stl vectorSTL——stack

  • SenticNet情感词典介绍[通俗易懂]

    SenticNet情感词典介绍[通俗易懂]在进行情感分析时,一个好的情感词典能够让我们的工作事半功倍,较为出名的情感词典有SentiWordNet,GeneralInquirer等,这篇博客将介绍另外一个出色情感词典,SenticNet。简介当谈论SenticNet时,我们正在谈论概念层面的情感分析,即通过语义和语言学来完成极性探测、情感识别等任务,而不是单纯的依靠词共现频率。SenticNet可以看作是以下其中一种:1…

  • Vue CLI3.0 中使用jQuery 和 Bootstrap

    Vue CLI3.0 中使用jQuery 和 Bootstrap

  • cas算法是什么_对算法的认识

    cas算法是什么_对算法的认识应用原子操作类,例如AtomicInteger,AtomicBoolean …适用于并发量较小,多cpu情况下;Java中有许多线程安全类,比如线程安全的集合类。从Java5开始,在java.util.concurrent包下提供了大量支持高效并发访问的集合接口和实现类。如:ConcurrentMap、ConcurrentLinkedQueue等线程安全集合。引入问题那么问题来了,这些线程安全类的底层是怎么保证线程安全的,你可能会想到是不是使用同步代码锁synchronized?引入概念这些线

发表回复

您的电子邮箱地址不会被公开。

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