javascript连接数据库
**
我使用的数据库是mysql,其余数据库方法大致一致,细节注意下即可。
**
今天主要分享的是单个jsp页面如何实现和数据库的交互,包括 增删查改 四个方面。
首先我在dos界面建立了一个数据库
初始化界面是这样的
之后进行代码编写
此处给出全部代码,之后分块解释
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ page import=“java.sql.*” %>
SQLTest <% Connection con; Statement st; ResultSet rs; PreparedStatement stmt; try{ Class.forName("com.mysql.cj.jdbc.Driver");//获取数据库连对象 }catch(Exception e){ out.println("忘记把mySQL数据库的jdbc数据库驱动程序复制到jdk的扩展目录中 "); }
try{String url="jdbc:mysql://localhost/student?serverTimezone=GMT%2B8&useSSL=false"; //数据库连接字String name="root";String pass="123456";con = DriverManager.getConnection(url,name,pass);//加载并注册驱动程序st = con.createStatement();//statement对象的初始化//增加一行记录无参
/* String sql = “insert into rj1602(Sno,Sname,Snicheng,Scondition,java,os,math) values (?,?,?,?,?,?,?)”;
stmt = con.prepareStatement(sql);
stmt.setString(1,“201616040221”);
stmt.setString(2,“小宝”);
stmt.setString(3,“小白”);
stmt.setString(4,“天真的”);
stmt.setInt(5,45);
stmt.setInt(6,45);
stmt.setInt(7,54);
int n = stmt.executeUpdate();
rs = st.executeQuery(“select * from rj1602”); */
//增加一行记录有参数
/* String sql = “insert into rj1602(Sno,Sname,Snicheng,Scondition,java,os,math) values (‘201616040220’,‘小胖子’,‘胖子’,‘真胖’,49,48,94)”;
stmt = con.prepareStatement(sql);
rs = st.executeQuery(“select * from rj1602”); */
//删除一行记录无参数
/* String sql = “delete from rj1602 where Sno=?”;
stmt = con.prepareStatement(sql);
stmt.setString(1, “201616040219”);
int n = stmt.executeUpdate();
rs = st.executeQuery(“select * from rj1602”); */
//删除一行记录有参数
/* String sql = “delete from rj1602 where Sno=‘201616040221’”;
stmt = con.prepareStatement(sql);
int n = stmt.executeUpdate();
rs = st.executeQuery(“select * from rj1602”); */
//查询数据
/* String sql = “select * from rj1602 where Sno=‘201616040214’”;
stmt = con.prepareStatement(sql);//先实例化stmt对象,之后再执行sql语句
rs = stmt.executeQuery(sql);
*/
//修改某个数据
/* String sql = “update rj1602 set Sname=‘小宝贝’ where Sno = ‘201616040221’”;
stmt = con.prepareStatement(sql);
int n = stmt.executeUpdate(sql); //executeUpdate返回一个整形
rs = st.executeQuery(“select * from rj1602”); //executeQuery返回一个结果集 */
//输出数据库表格out.print("<table border=2>");out.print("<tr>");out.print("<th width = 100>"+"Sno");out.print("<th width = 100>"+"Sname");out.print("<th width = 100>"+"Snicheng");out.print("<th width = 100>"+"Scondition");out.print("<th width = 100>"+"java");out.print("<th width = 100>"+"os");out.print("<th width = 100>"+"math");out.print("</tr>");while(rs.next()){out.print("<tr>");out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getString(3)+"</td>");out.print("<td>"+rs.getString(4)+"</td>");out.print("<td>"+rs.getInt("java")+"</td>");out.print("<td>"+rs.getInt("os")+"</td>");out.print("<td>"+rs.getInt("math")+"</td>");out.print("</tr>");}out.print("</table>"); con.close();
}catch(SQLException e){out.print(e);
}
%>
使用eclipse读取数据库表格的初始化表格如下
首先建立Connection,Statement,PreparedStatement,Resultset对象
Connection:数据库连接接口,该接口负责与特定数据库的链接,其中三个方法比较重要
createStatement():创建并返回一个Statement实例,通常在执行无参数的sql语句时创建该实例。
prepareStatement():创建并返回一个Statement实例,通常在执行含参数的sql语句时创建该实例。
close():关闭数据库连接。
Statement:该接口用来执行静态的sql语句,并返回执行结果。
executeQuery(String sql):执行静态的select语句,并返回一个永远不能为null的Result实例。
executeUpdate(String sql):执行静态的insert,update,delete语句,并返回一个int型整数,为同步更新记录的条数。
close():关闭Statement实例。
PreparedStatement:该接口继承与于Statement接口,用来执行动态的sql语句。
executeQuery(String sql):执行前面包含参数的动态select语句,并返回一个永远不能为null的Result实例。
executeUpdate(String sql):执行前面包含参数的动态的insert,update,delete语句,并返回一个int型整数,为同步更新记录的条数。
setXXX():设置指定类型的参数值,下方会有具体代码演示。
close():关闭Statement实例。
Result:该接口类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的相关信息。
其中具体方法可参考:https://blog.csdn.net/CSDN___LYY/article/details/53223844
实例化之后,获取数据库连接对象
Class.forName(“com.mysql.cj.jdbc.Driver”);
加载并注册驱动程序
String url=“jdbc:mysql://localhost/student?serverTimezone=GMT%2B8&useSSL=false”; //数据库连接字
String name=“root”;
String pass=“123456”;
con = DriverManager.getConnection(url,name,pass);//加载并注册驱动程序
增加一行记录,无参数的
//增加一行记录无参
String sql = “insert into rj1602(Sno,Sname,Snicheng,Scondition,java,os,math) values(?,?,?,?,?,?,?)”;
stmt = con.prepareStatement(sql);
stmt.setString(1,“201616040221”);
stmt.setString(2,“小宝”);
stmt.setString(3,“小白”);
stmt.setString(4,“天真的”);
stmt.setInt(5,45);
stmt.setInt(6,45);
stmt.setInt(7,54);
int n = stmt.executeUpdate();
rs = st.executeQuery(“select * from rj1602”);
此处通过?????来进行sql语句的填写,并通过prepareStatement接口的set方法存入值,编号从1递加并第一个?开始。
执行结束后,eclipse返回结果
查询数据
//查询数据
String sql = “select * from rj1602 where Sno=‘201616040214’”;
stmt = con.prepareStatement(sql);//先实例化stmt对象,之后再执行sql语句
rs = stmt.executeQuery(sql);
修改数据
//修改某个数据
String sql = “update rj1602 set Sname=‘小宝贝’ where Sno = ‘201616040221’”;
stmt = con.prepareStatement(sql);
int n = stmt.executeUpdate(sql); //executeUpdate返回一个整形
rs = st.executeQuery(“select * from rj1602”); //executeQuery返回一个结果集 */
删除201616040221这条记录有参的,无参同增加
//删除一行记录有参数
String sql = “delete from rj1602 where Sno=‘201616040221’”;
stmt = con.prepareStatement(sql);
int n = stmt.executeUpdate();
rs = st.executeQuery(“select * from rj1602”);
如有侵权请联系!!!!
javascript连接数据库相关推荐
- JavaScript爬取网页并分析
JavaScript爬取网页并分析 任务分析 爬取三个网站下的新闻数据,这里选择网易新闻网(https://news.163.com/): 提取每条新闻的如下字段:标题,内容,发表日期,网址,关键词, ...
- JavaScript 和JSP 连接SqlServer 数据库
第一种 JavaScript连接数据库: <mce:script language="JavaScript"><!-- // 创建数据库对象 var objdbC ...
- access前端连接mysql_用javascript连接access数据库的方法
刚看到一个朋友写的用javascript连接excel数据库的程序,想把它改成access数据库的,就找到了这两篇文章 ---------------------------------------- ...
- 2010 年 博文汇总
以方便以后查找以往博文. asp.net系列 1:Asp.Net中清空所有textbox的几种方法 (2010-03-04 14:12) 2:Asp.Net Request获取url各种信息的方法 ( ...
- 以JavaScript连接mysql数据库为例说明通过ODBC连接数据库的通用方法
ODBC简介 开放数据库连接(Open Database Connectivity),ODBC是为解决异构数据库间的数据共享而产生的,ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数 ...
- ThinkPHP连接数据库
ThinkPHP连接数据库,刚刚开始搞thinkPHP,对于很多的专有的名词还不是很熟悉,今天找了一个博客,并且搜索了一会,才知道怎样利用php连接数据库 首先我的目录文件是这样的,然后在Applic ...
- JDBC连接数据库过程
JDBC连接数据库过程 时间: 2009-03-03 20:43来源: 作者: 点击: <script src="http://www.topkc.cn/plus/count.php? ...
- 核心(Core) Javascript 学习手记
说明: 一字一句都是俺敲出来的, ^^. 转载请注明出处哦. 前些日子, 发现好些地方需要用到 Js 代码, 以前没怎么系统的学习过, 要用到的时候查一堆一堆的手册, 写得不好不说, 还很浪费时间, ...
- JavaScript基础,Cookies,Sessions
php和JavaScript,掌握JavaScript基础,自定义函数,流程控制语句,事件,调用JavaScript脚本,在PHP中使用JavaScript. JavaScript是网景公司开发的,是 ...
- JavaScript高级应用(二)
//组件是否安装 isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID& ...
最新文章
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
- python调用电脑蜂鸣器一直响_电脑开机蜂鸣器一直响,9声滴~,什么问题?怎么处理?...
- 高中计算机室名言,高中教室励志标语名言
- 虚成员(virtual)
- UpdatePanel Repeater内LinkButton造成页面刷新问题
- 系统架构设计师 - 单体架构、SOA架构、微服务架构
- retryexec.java 94_解决feign调用接口不稳定的问题
- ‘grep‘ 不是内部或外部命令,也不是可运行的程序或批处理文件-adb shell ps | grep ***
- DSP入门必看(上)
- 基于php的超市仓库管理系统
- java jdom_Java JDOM解析器
- android流光动画和流光字体
- 从I到R:人工智能语言简史
- Python教你从0搭建微信推送斗鱼直播提醒(单房间简化版)
- node命令与切换node版本
- javascript ClientId用法
- PDF阅读器和编辑器选择
- SQL Server DATEADD()实例讲解
- uboot usb设备驱动
- 确认!贾扬清加盟阿里,任技术副总裁