使用动态数据进行数据库内容的增删改查操作有两种方法:
在此定义数据库连接为conn
假设有表单进行数据输入并提交到处理页面
一种是使用预编译格式:
其格式如下:

		String name = request.getParameter("name");//获取前页表单中name为name的值
String password = request.getParameter("password");//获取前页表单中name为password的值
String sql = "insert into user values(null,?,?)";//定义数据库操作语句
PreparedStatement pst = conn.prepareStatement(sql);//创建预编译对象
pst.setString(1,name);//为第一个?赋值,将表单获取的name值赋给第一个?
pst.setString(2,password);//为第二个?赋值,将表单获取的password值赋给第二个?
pst.executeUpdate();//执行数据插入操作

  

二种是使用普通格式:
其格式如下:

		String name = request.getParameter("name");//获取前页表单中name为name的值
String password = request.getParameter("password");//获取前页表单中name为password的值
String sql = "insert into user values(null,'" + name + "','" + password + "')";//定义数据库操作语句
Statement state = conn.createStatement();//创建Statement对象
state.executeUpdate(sql);//执行数据插入操作

具体代码如下:

表单页面:form.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<form action="preparedStatement_test.jsp" method = "get">
<input type = "text" name = "name" />
<input type = "password" name = "password" />
<input type = "submit" />
</form>
</body>
</html>

数据处理页面:preparedStatement_test.jsp

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<%
String url = "jdbc:mysql://localhost:3306/javaweb";
String root = "root";
String pass = "123456";
Connection conn = null;
try{
//指定数据库驱动文件
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,root,pass);
}catch(ClassNotFoundException cnfe){
out.print("找不到驱动器文件!");
}catch(SQLException se){
out.print("数据库连接失败!");
}
%>
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
String sql = "insert into user values(null,?,?)";
PreparedStatement pst = null;
try{
pst = conn.prepareStatement(sql);
pst.setString(1,name);
pst.setString(2,password);
pst.executeUpdate();
out.print("数据保存成功!");
}catch(SQLException se){
out.print("添加数据出错!");
}
%>
<%
//从服务器取出数据并显示
String sql1 = "select * from user where name = ?";
pst = conn.prepareStatement(sql1);
pst.setString(1,name);
ResultSet rs = pst.executeQuery();
out.print("<table><tr><td colspan = '3'>您的数据</td></tr>");
out.print("<tr><td>id</td><td>name</td><td>password</td></tr>");
while(rs.next()){
out.print("<tr><td>" + rs.getInt(1) + "</td><td>" + rs.getString(2) + "</td><td>" + rs.getString(3) + "</td></tr>");
}
out.print("</table>");
%>
</body>
</html>

  

jsp中使用动态数据进行mySQL数据库的两种操作方法的更多相关文章

  1. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

  2. C++连接mysql数据库的两种方法

    本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...

  3. scrapy数据存储在mysql数据库的两种方式

    方法一:同步操作 1.pipelines.py文件(处理数据的python文件) import pymysql class LvyouPipeline(object): def __init__(se ...

  4. 分享知识-快乐自己:mysql数据库常见两种引擎

    mysql的常用引擎 在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM. 首先: 1.简单介绍这两种引擎,以及该如何去选择. 2.这两种引擎所使用的数据结构是什么. Innod ...

  5. MySQL数据库的两种连接方式:TCP/IP和Socket

    Linux平台环境下主要有两种连接方式,一种是TCP/IP连接方式,另一种就是socket连接. 在Windows平台下,有name pipe和share memory(不考虑)两种. TCP/IP连 ...

  6. MapReduce 程序mysql JDBC驱动类找不到原因及学习hadoop写入数据到Mysql数据库的方法

    报错 :ClassNotFoundException: com.mysql.jdbc.Driver 需求描述: hadoop需要动态加载个三方jar包(比如mysql JDBC 驱动包),是在MR结束 ...

  7. Ubuntu jsp平台使用JDBC来连接MySQL数据库

    Ubuntu 7.04 搭建Ubuntu jsp平台开发环境MySQL+tomcat+apache+j2sdk1.6在所有安装开始前先在Terminal中输入 rpm -q -a查看是否安装过rpm ...

  8. PHP如何通过SQL语句将数据写入MySQL数据库呢?

    1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...

  9. 在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合

    在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的 ...

随机推荐

  1. Hive技术文档

    Hive是什么? Hive是蜂房的意思,为什么hadoop上的这层数据仓库叫Hive? 因为生物学上蜂房是一个结构相当精良的建筑,取名Hive足见则个数据仓库在数据存储上也是堪称精良的.Hive是Fa ...

  2. Java 中无参带返回值方法的使用

    如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 c ...

  3. C++模板实例掌握

    前段时间重新学习C++,主要看C++编程思想和C++设计新思维.对模版的使用有了更进一层的了解,特总结如下: 下面列出了模版的常用情况:  << '\n';} //参考:http://ww ...

  4. bjfu1299 stl使用

    题目超简单,我写解题报告是因为我的代码用了些STL,使代码很简洁. * * Author : ben */ #include <cstdio> #include <cstdlib&g ...

  5. linux umask使用详解

    转自:http://blog.csdn.net/lmh12506/article/details/7281910 umask使用方法 A 什么是umask?   当我们登录系统之后创建一个文件总是有一 ...

  6. 在VMware虚拟机中安装CentOS 7

    [声明] 欢迎转载,但请保留文章原始出处 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3917 ...

  7. 【LeetCode】165 - Compare Version Numbers

    Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 &l ...

  8. 浅谈jquery选择器

    首先来说说jquery选择器的优势: 1.简洁的写法  2.支持css1.0到3.0选择器 3.完善的处理机制. 再来说说分类: jquery选择器分为基本选择器.层次选择器.属性选择器.基本过滤选择 ...

  9. sql统计重复数据

    sql代码如下: 统计重复的数据 select MingCheng from tabShouFeiGongShi group by MingCheng having count(MingCheng) ...

  10. geeksforgeeks@ Minimum Points To Reach Destination (Dynamic Programming)

    http://www.practice.geeksforgeeks.org/problem-page.php?pid=91 Minimum Points To Reach Destination Gi ...