jsp中使用动态数据进行mySQL数据库的两种操作方法
使用动态数据进行数据库内容的增删改查操作有两种方法:
在此定义数据库连接为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数据库的两种操作方法的更多相关文章
- 将Excel数据导入mysql数据库的几种方法
将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...
- C++连接mysql数据库的两种方法
本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...
- scrapy数据存储在mysql数据库的两种方式
方法一:同步操作 1.pipelines.py文件(处理数据的python文件) import pymysql class LvyouPipeline(object): def __init__(se ...
- 分享知识-快乐自己:mysql数据库常见两种引擎
mysql的常用引擎 在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM. 首先: 1.简单介绍这两种引擎,以及该如何去选择. 2.这两种引擎所使用的数据结构是什么. Innod ...
- MySQL数据库的两种连接方式:TCP/IP和Socket
Linux平台环境下主要有两种连接方式,一种是TCP/IP连接方式,另一种就是socket连接. 在Windows平台下,有name pipe和share memory(不考虑)两种. TCP/IP连 ...
- MapReduce 程序mysql JDBC驱动类找不到原因及学习hadoop写入数据到Mysql数据库的方法
报错 :ClassNotFoundException: com.mysql.jdbc.Driver 需求描述: hadoop需要动态加载个三方jar包(比如mysql JDBC 驱动包),是在MR结束 ...
- Ubuntu jsp平台使用JDBC来连接MySQL数据库
Ubuntu 7.04 搭建Ubuntu jsp平台开发环境MySQL+tomcat+apache+j2sdk1.6在所有安装开始前先在Terminal中输入 rpm -q -a查看是否安装过rpm ...
- PHP如何通过SQL语句将数据写入MySQL数据库呢?
1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...
- 在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的 ...
随机推荐
- Android下Fragment的动画切换效果
效果图如下: 源码链接 : 请戳这里
- php 处理透明背景的图片时的问题
PHP图象处理之透明背景的gif和png图片的一些问题 1,直接读取有透明背景的PNG格式文件,然后直接输出,背景变成了黑色,gif则没有这种情况. 解决方法:使用 imagesavealpha ...
- smarty缓存函数
原来在Smarty中在3.0以上版本中不在使用这个clear_all_cache(),而是以$smarty->clearAllCache(); 代替.其中$smarty->clear_ca ...
- FZU 2171(线段树的延迟标记)
题意:容易理解. 分析:时隔很久,再一次写了一道线段树的代码,之前线段树的题也做了不少,包括各种延迟标记,但是在组队分任务之后,我们队的线段树就交给了另外一个队友在搞, 然后我就一直没去碰线段树的题了 ...
- Sikulix IDE简介
打开sikuklixIDE 这里介绍下使用方式 可以看到左边的menu 有查找,鼠标动作和键盘动作 我们先用百度搜索做个例子 打开firefox,输入www.baidu.com 点击左边的Click, ...
- Package inputenc Error: Unicode char \u8: not set up for use with LaTeX.
用TexStudio编辑文档时,不知是多加了空格还是啥,总是提示如下错误: Package inputenc Error: Unicode char \u8: not set up for use w ...
- arp spoofing
Today our tutorial will talk about Kali Linux Man in the Middle Attack. How to perform man in the mi ...
- MySQL Connector_J_5.1.34_2014.10
5.1版本符合JDBC3.0和JDBC4.0规范 跟MySQL4.1-5.7兼容 5.1.21以后支持JDK7的JDBC4.1规范 在MySQL4.1之前,是不支持utf8的 com.mysql.jd ...
- Blog 入职新公司的一些吐槽!
入职公司已经两个星期了,说真的也很惭愧.我们这小批入职的一共六个人,五个人是实习生,我是唯一一个社招. 所以 我要吐槽 !! 吐槽1 人家都是90后(TAT) 其实真的不要觉得年龄是压力!看看路边KF ...
- Python程序的混淆和加密
混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本.同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了, ...